タグ

charsetに関するloosecontrolのブックマーク (17)

  • 404 Not Found

  • perl - use utf8; #って何だ? : 404 Blog Not Found

    2009年06月15日07:00 カテゴリLightweight Languages perl - use utf8; #って何だ? id:otsuneに建設予定フラグがたてられていたので。 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech Perl の utf8 関係が未だ全く理解できない。わからないことがわからないので整理 use utf8はいつフラグをたてるか use utf8 しててもフラグたたないことがある…… これは、以下の実例を見ていただくのが一番よいだろう。 #!/usr/bin/perl use strict; use warnings; use utf8 (); sub check_flag{ my $str = shift; print qq("$str" ), utf8::is_utf8($str) ? 'is' : 'IS NOT',

    perl - use utf8; #って何だ? : 404 Blog Not Found
  • 第4回 UTF-8の冗長なエンコード | gihyo.jp

    今回は、文字コードに関連するセキュリティの話題では古参ともいえるUTF-8の冗長なエンコードというテーマについて紹介します。 UTF-8とは UTF-8は、各文字を1~4バイトの可変長で表現するUnicodeの符号化方式のひとつです。 U+0000からU+007Fの範囲の文字を0x00から0x7Fの1バイトで表現しているため、US-ASCIIと互換性がある、バイト列の途中からでも文字の先頭バイトを簡単に検出できる、多バイト文字の途中に0x00や0x5C(\⁠)⁠、0x2F(/)などが現れない、などの特徴があります。 UTF-8での文字のビットパターンは表1のようになります。 表1 UTF-8でのビットパターン

    第4回 UTF-8の冗長なエンコード | gihyo.jp
  • 文字コードのセキュリティ問題はどう対策すべきか: U+00A5を用いたXSSの可能性 - 徳丸浩の日記(2009-03-11)

    _U+00A5を用いたXSSの可能性 前回の日記では、昨年のBlack Hat Japanにおける長谷川陽介氏の講演に「趣味と実益の文字コード攻撃(講演資料)」に刺激される形で、Unicodeの円記号U+00A5によるSQLインジェクションの可能性について指摘した。 はせがわ氏の元資料ではパストラバーサルの可能性を指摘しておられるので、残る脆弱性パターンとしてクロスサイト・スクリプティング(XSS)の可能性があるかどうかがずっと気になっていた。独自の調査により、XSS攻撃の起点となる「<」や「"」、「'」などについて「多対一の変換」がされる文字を探してきたが、現実的なWebアプリケーションで出現しそうな組み合わせは見つけられていない。 一方、U+00A5が処理系によっては0x5C「\」に変換されることに起因してXSSが発生する可能性はある。JavaScriptがからむ場合がそれだ。しかし、

  • 絵文字が開いてしまった「パンドラの箱」第2回--Googleの開けてしまった箱の中味

    じつはコメントを送っていたNTTドコモ 最初に前回のおさらいをしておきましょう。スタート当初の携帯電話の絵文字には、キャリア間でメールのやり取りの中で文字化けしてしまう欠点があったこと、それを解決する仕組みをキャリア各社が作ったものの、その場しのぎの欠点の多いものであったこと、そして絵文字のUnicode符号化というのはそうした欠点を一挙に解決するはずであること。ついでにGoogle絵文字のUnicode符号化を進めることで、キャリア各社は今まで自分たちが育ててきた絵文字の主導権を奪われてしまうということも。 それから前回の最後では、キャリア各社に対してGoogleの提案についてどう思うか、パブリックレビューに参加する意向があるかを聞いてみました。そこでの回答は、各社そろって消極的と受け取れるものでした。 ところが前回の掲載後に、NTTドコモがGoogle絵文字メーリングリストに投稿し

    絵文字が開いてしまった「パンドラの箱」第2回--Googleの開けてしまった箱の中味
  • れぶろぐ - [PHP] PHP スクリプトは BOM 付き UTF-8 で書いてはいけない

    PHP スクリプトは BOM 付き UTF-8 で書いてはいけない ここのところ、ずっと悩んでいたバグがあったのですが、 ようやく原因が分かったので、その顛末を。 header() を使ってレスポンスヘッダを出力するコードを書いていたのですが、 Live HTTP headers なんかを使って見てみても、 なぜか指定したレスポンスヘッダが出力されていません。 よくある話として、header() の前になにかゴミを出力してしまっているのでは? と疑ったのですが、 チェックしてみてもその気配は無し。 原因が分からず、しばらく放置していたのですが、 ふとひらめいて、バイナリエディタを使ってスクリプトのファイルを見てみました。 あれ? なに、この先頭の EF BB BF って? いつのまにか BOM が付いているけど、もしかしてこれがまずいのか? (…考え中…) そうか! BOM 付き U

  • daily dayflower - 半角←→全角変換,Unicode::Japanese に未公開機能が…

    2008-10-21 追記 いまだに(ありがたいことですが)検索で飛んできたりブクマされたりというのがちょいちょいあるので,最新動向を書いておきます。 id:tokuhirom さんが Lingua::JA::Regular::Unicode という Pure Perl Module をリリースなさいました(→ http://d.hatena.ne.jp/tokuhirom/20081018/1224300947)。 あなたが作っているアプリで文字列まわりを Unicode::Japanese インスタンスですべて持ちたいわけでなければ(そして,たいていのばあい,持つ必要はないのですが),この Lingua::JA::Regular::Unicode を使うのがベターです。依存性もなく,とても軽量ですので。 2008-10-21 追記おわり ウェブアプリを作っていると,ユーザが入力した半角

    daily dayflower - 半角←→全角変換,Unicode::Japanese に未公開機能が…
  • 日本語Perl

    はじめにPerl は Larry Wall によって1987年に開発されたインタープリタ方式のプログラミング言語である。 ここで紹介するように、きわめて優れた機能を持つプログラミング言語であり、しかも無料で配布されている。Larry Wall 自身によれば、Perl はテキスト処理言語としてスタートしたといい、その名前は「Practical Extraction and Report Language(実践的(データ)抽出およびレポート作成用言語)」を略したものだそうだが、「Pathologically Eclectic Rubbish Lister (病理学的には選りすぐりのがらくたリスト出力機)」でも良いとしている。Perl のモットーは、「それをやる方法は1通り以上ある」という点にある。これは言語学者でもある Larry Wall が、人間が普段話している自然言語では、言葉が1通りと

    loosecontrol
    loosecontrol 2008/07/16
    binmode STDIN, ":encoding(cp932)";
  • 『[Perl] SJISの機種依存文字が文字化け』

    他人が作ったPerlのプログラムにSJISの機種依存文字を通すテストしていてトラブルに遭遇しました... (専門外なので知らなかったのですが)Perlは内部処理をUTF-8で行っているそうです。 そのため、普段Windows上で使っているShift_JISのファイルを扱おうと思ったら、ファイルの読み込み時にUTF-8に変換し、ファイルの出力時に再びShift_JISに変換しなければならないようです。 open(IN, "<:encoding(shiftjis)","$in"); しかし、この時、機種依存文字を含んだShift_JISのファイルを読み込ませるとUnicodeにマッピングできない旨の警告が発生し、 shiftjis "\x87" does not map to Unicode at hoge.pl line 38, <IN> line 12. そのまま処理は続行されるものの、以

    『[Perl] SJISの機種依存文字が文字化け』
    loosecontrol
    loosecontrol 2008/07/16
    "shiftjis"ではなく"cp932"で
  • 404 Blog Not Found:perl - Encode 入門

    2008年04月09日01:00 カテゴリLightweight Languages perl - Encode 入門 すでにOSCONでもYAPCでも、あちこちそちこちでこの基方針に関しては話したのですが、ここ 404 Blog Not Found でも改めて。 Perl で utf8 化けしたときにどうしたらいいか - TokuLog 改め だまってコードを書けよハゲ 入り口で decode して、内部ではすべて flagged utf8 で扱い、出口で encode する。これがすべてです!とにかくこの基方針をまもっていれば幸せになれます。ここでは、EUC-JPでエンコードされたファイル中の「小飼弾」「こがいだん」「コガイダン」「Kogai Dan」を正規表現で書き換えて標準出力にEUC-JPで出力するプログラムを例にとって説明します。 decode() then encode(

    404 Blog Not Found:perl - Encode 入門
    loosecontrol
    loosecontrol 2008/04/09
    decodeしてencode
  • Webページの文字コードをUTF-8にする方法(前編)

  • Perl-5.8 MEMO

    Perl-5.8 覚え書き Last Updated at $Date: 2005/12/04 04:00:59 $. このページは,Perl-5.8.2 を使う上で困ったことなどの覚え書きです. 日語を含むスクリプトを書く 日語 EUC でスクリプトを書く UTF-8 でスクリプトを書く 日語を含むファイルを開く 連想配列で日語を使う 日語を含む正規表現 文字コードの自動判定 古い Perl でも実行できるように書く 未解決の問題 日語を含むスクリプトを書く Perl-5.8.x で日語を扱うスクリプトを書く場合,大きく2通りの方法があります. 日語 EUC でスクリプトを書く. UTF-8 でスクリプトを書く. どちらの方法でも, (1)ファイル入出力, (2)データベースアクセス, (3)プロセス間通信の3つに気をつけて, 明示的にバイト列を文字列に変換したり,また逆

    loosecontrol
    loosecontrol 2007/12/22
    文字コードの自動判定など
  • UTF-8 エンコーディングの危険性 - WebOS Goodies

    的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ

  • 404 NOT FOUND | Kagayaku

    美織の整形疑惑に終止符!画像40枚の検証でわかったデビューから2022年までの目元や鼻すじの変化を徹底考察

    404 NOT FOUND | Kagayaku
  • それ Unicode で

    UTF-7 を使ってスクリプトを記述 +ADw-SCRIPT+AD4-alert(\'XSS\');+ADw-+AC8-SCRIPT+AD4- IE は、文字エンコーディングが不明で UTF-7 っぽい文字列があれば、自動判別で UTF-7 となる。

  • Unicodeは文字集合か符号化方式か : 404 Blog Not Found

    2006年11月24日12:30 カテゴリLightweight Languages Unicodeは文字集合か符号化方式か 以下は、電脳で文字を扱う場合の基礎中の基礎なのだが、肝心の記事に重大な誤りがいくつもある。 文字コード規格の基礎:ITpro そろそろ具体的な説明に入ろう。最初にはっきりさせておく必要があるのは次の点だ。一般に「文字コード」と言う場合, 文字の集合 エンコード方法 という要素がある。この二つを区別して考えることが重要だ。もちろん大きな関連はあるのだが,ごちゃごちゃのままでは「わからなく」なる大きな要因となる。ここだ。 これによると、Unicodeは明らかに「エンコード方法」であるが、これは間違い。ここで書かれているものはUCS-2という名前のUnicodeが定めるいくつかの「エンコード方法」の一つであり、しかもUTF-16によって陳腐化した方式である。 まずUnic

    Unicodeは文字集合か符号化方式か : 404 Blog Not Found
  • 文字コード規格の基礎:ITpro

    この記事は,日経ソフトウエア 1999年10月号に掲載したものです。それ以降の情報が盛り込まれていませんので,現在とは異なる場合があります。 文字コード規格の基礎を手早く理解したい場合などにお役立てください。 文字コードは間違いなく情報を交換するための「決まりごと」なので,正確を期すため厳密な仕様が規定されている。だが,その仕様そのものを実装するプログラムを作る場合を除けば,プログラマが仕様の詳細を隅々まで理解している必要はない。六法全書を読んでいなくても問題なく普段の生活ができるようなものだ。 ここでは,通常のプログラミングをするうえで必要と思われる範囲のことを,なるべく簡潔に説明したい。「半角カナ」のような呼び名は正確さを欠くものだが,多くの人に伝わりやすいので説明の中でも使っていく。説明を簡略化するため「正確な仕様を知りたいときは規格書そのものを必ず参照してほしい」と書きたいところだ

    文字コード規格の基礎:ITpro
  • 1