タグ

文字コードに関するnacookanのブックマーク (17)

  • いつか来た道「HTML5ではShift_JISをWindows-31Jだと解釈する」 | inquisitor

    拙著『Webアプリケーション構築入門』にも書きましたが、HTML5では、以下のような記述で文書の文字コードを指定します。 <meta charset="文字コード" /> 面白いことに、HTML5では、 <meta charset="Shift_JIS" /> と書いても、 <meta charset="Windows-31J" /> と書いたと見なされるらしいのです(HTML Living Standard)。 文字コードとしてのShift_JISとWindows-31Jの間には、さまざまな違いがありますが、私にとって最も重要なのは、0x5Cの扱いです。 Shift_JISの0x5Cは円記号です。IANAによれば、Shift_JISはJIS X 0208で規定されていて、JIS X 0208にはビット組み合わせ21~7Eの1バイト符号の領域には、JIS X 0201のラテン文字用図形文字

  • ISO-2022-JPを扱う際の注意 - blanket log

    ISO-2022-JP(いわゆるJIS)で書かれたファイルから特定の文字列を検索する、というのはそれほど簡単な話ではありません。単純に部分一致するバイト列を探すだけではできないからです。 ISO-2022-JPという文字コードは、エスケープシーケンスによって文字セットを切り替えながら文字列を表現します。 どういうことかというと、文字列の中で文字がASCIIから日語に切り替わるときに、「ここから日語」と宣言してから日語を表すバイト列が続きます。逆に日語からASCIIに切り替わるときに「ここからASCII」と言ってからASCIIの文字列が続きます。IMEで入力する文字を切り替える度に[半角/全角]キーを押すのと似たようなものです。 つまり文字列の各部分において状態を持つのです。 例えば「0x24 0x22」というバイト列は、ASCII状態では「$"」になりますが、日語状態(JIS X

    ISO-2022-JPを扱う際の注意 - blanket log
  • Unicode 版美乳テーブルを探せ

    ページ内リンク 美乳テーブルとは 各文字エンコーディングの事情 それでは題 探索 その文字は ちなみに 付録 EUC-JP 固有の文字 0208 0212 0213-1 0213-2 Shift_JIS 固有の文字 UTF-8 固有の文字 美乳テーブルとは 「美乳テーブル」という物がある。 「EUC-JP の文章を Shift_JIS だと誤認識されない様に、EUC-JP 固有のバイト値を文章先頭付近に埋め込んでおく」という物。 具体的に、Shift_JIS には 0xFD と 0xFE が現れず、EUC-JP にはそれが現れるので、その値を含む文字コードを書いておこうという事で、その文字の集合に付いた名前。 “美” = 0xC8FE、“乳” = 0xC6FD。 各文字エンコーディングの事情 但し、これは EUC-JP での話。 一応、文章の先頭付近に日語の文字を書いておくのは、他の

  • 文字コードの判別

    [vim] viでの文字コードはset encodingにて指定できる。設定ファイルに以下のように記述しておけばよい。 set encoding=euc-jp set fileencodings=iso-2022-jp,sjis,utf-8 現在の設定を確認するには以下のようにします。 #文字コードの確認 :set enc? #ファイルエンコードの確認 :set fenc? #自動判別の設定確認 :set fencs? « viエディターでの画面分割 | | コピー & ペースト »

  • Encodeでラクラク日本語処理 - JPerl Advent Calendar 2009

    こんにちは!ラブプラスとときメモ4の狭間で揺れ動いているxaicronです!! 今日は日でプログラムを書いていたら避けては通れない気がする、Encodeの話をしようと思います! はじめに まず、この記事を読む前に、Perlのバージョンの確認をしてください。以下のようにやればバージョンが表示されます。 % perl -v ここで、5.8.1より下の数字ができてきた方は、Perlのバージョンアップをしてください。5.8.1より下のバージョンでは、Perlの内部文字コードが安定していないので、いい感じになりません。できれば5.8.8以上のバージョンを使いましょう。 それから、文字コードってなによって人も適当にWikiとかで調べてから読んだ方がいいと思います!! Encode.pm Encodeは昔のjcode.plやJcode.pmに代わる、現在の文字コード処理のスタンダードModuleです。

  • 新常用漢字表が迫るUnicode移行、「シフトJIS」では対応不可能 | 日経 xTECH(クロステック)

    普段使用する漢字の指針となる「常用漢字表」が、2010年度にも改正される。新たに追加される196文字の中に、文字コード「シフトJIS」にない漢字が含まれているため、情報システムに大きな影響を与えそうだ。最新のJIS規格「JIS X 0213:2004」の改正に委員としてかかわった京都大学人文科学研究所附属東アジア人文情報学研究センターの安岡孝一准教授が、問題の核心を解説する。     (日経コンピュータ) 2009年11月10日、文部科学省の「文化審議会国語分科会」において、常用漢字表の改正案が承認された。現行の常用漢字表にある1945字から「銑」「錘」「勺」「匁」「脹」の5字を削除し、新たに196字を追加する改正案で、2010年度の内閣告示を目指している。 新しい常用漢字表が告示されると、「シフトJIS」や「EUC-JP」といった従来からある文字コードを使用するシステムで大きな問題が生じ

    新常用漢字表が迫るUnicode移行、「シフトJIS」では対応不可能 | 日経 xTECH(クロステック)
  • 「UnicodeによるXSSとSQLインジェクションの可能性」プレゼン資料 - ockeghem's blog

    だいぶ間があいてしまいましたが、年1月31日に開催された、第04回まっちゃ445勉強会目覚まし勉強会におけるライトニングトークの資料を公開します。 UnicodeによるXSSとSQLインジェクションの可能性View more presentations from ockeghem.

    「UnicodeによるXSSとSQLインジェクションの可能性」プレゼン資料 - ockeghem's blog
  • htmlspecialcharsに関する残念なお知らせ - 岩本隆史の日記帳(アーカイブ)

    htmlspecialcharsのパッチ私案」に書いた件、バグレポートを出してみましたが、「すでに同じバグレポートがあるだろ」という理由により、あえなく却下されました。 せめて先方が「同じ」とみなしているレポート番号ぐらいは示してほしくて、そのようにコメントしましたが、お相手のjaniという人は気難し屋のようで*1、教えてもらえる気がしません。 私なりに探した結果、下記のレポートがくさいように感じました。 PHP :: Bug #43896 :: htmlspecialchars() returns empty string on invalid unicode sequence 「不正なUTF-8シーケンスの場合に空文字列を返すのはおかしい」というレポートで、私のそれとは正反対どころか、Shift_JISにもEUC-JPにも触れられていない別個のものです。もちろん、私はレポート送信前に

    htmlspecialcharsに関する残念なお知らせ - 岩本隆史の日記帳(アーカイブ)
    nacookan
    nacookan 2009/10/07
    htmlspecialcharsがセキュリティ的に残念ってことは、つまりPHPが残念で、PHP製のWebアプリが残念。
  • #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found

    2009年09月13日13:00 カテゴリLightweight Languages #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 駄目です。 [を] Perl の utf8 まわりのおまじない 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); こういう場合は、Encode::decode_utf8()でないと。 以下をごらんください。 #!/usr/bin/perl use strict; use warnings; use Encode; use Devel::Peek; for my $bytes ( "\x2F", "\xC0\xAF", "\xE0\x80\xAF", "\xF0\x80\x80\xAF" ) { my $u

    #perl - utf8::decode()ではなくEncode::decode_utf8()を使うべき理由 : 404 Blog Not Found
  • Perl の utf8 まわりのおまじない

    Perl の utf8 まわりのおまじない 2009-09-12-4 [Programming] 自分用メモ。 最近良く使うおまじない、というかイディオム。 utf8::decode($text) unless utf8::is_utf8($text); (追記:より良いおまじない。詳細は後述。 $text = Encode::decode_utf8($text) unless utf8::is_utf8($text); ) PerlCGI モジュールでクエリから得られるデータの文字列のutf8フラグの有無が環境によって違うことがあってイライラ。 でもこのおまじないでなんとかなった。 こんな文脈で使う: use utf8; use CGI; ... my $text = $q->param('text') || ""; utf8::decode($text) unless utf8:

    Perl の utf8 まわりのおまじない
  • UTF-8の冗長なエンコードとは何で、なんでそれがセキュリティ的に危ないのか?を文字コード知識レヴェル3くらいの凡プログラマが考えてみる - tohokuaikiのチラシの裏

    何故かあたり前にならない文字エンコーディングバリデーション | yohgaki's blog ってあるように、いまいち文字コードの不正な判定による危険性ってのが分かってない。 SJISの問題は、(2/3)SQLインジェクションを根絶!セキュア開発の極意 - 第5回■注目される文字コードのセキュリティ問題:ITproの記事がわかりやすかった。 というか、やっぱりPHP使ってると誰でも一度は「なんじゃこの『¥』は?」って思うもんなんで。 なるほど、確かに↓の図のように「あるバイト」が2つの意味を持つっていう文字コード形態はやばいんだなと。 EUC-JPはそんなことはしないで、1つのバイトには1つの意味しか取らせない。 だけど、これでも文字化けが起こることがある。経験的には、「マルチバイトをXX文字で切り落としたい」とかやった場合。ちゃんと文字コードを判定してくれるPHPでいえばmb_subst

  • http://bearmini.net/blog/View.aspx?bid=1&aid=99

    

  • ERRP | Expired Registration Recovery Policy

    Please notice: This domain name registration has expired and renewal or deletion are pending. If you are the registrant and want to renew the domain name, please contact your registration service provider. Bitte beachten Sie: Diese Domainregistrierung ist abgelaufen und die Verlängerung oder Löschung der Domain stehen an. Wenn Sie der Registrant sind und die Domainregistrierung verlängern möchten,

  • viで日本語の文字コードを自動判別 - 玉虫色に染まれ!!

    今日は以前の「Ubuntuのvimを快適にする」の続きとして、今日は文字コードの自動判別の設定を紹介します。 最近のディストリビューションでは、デフォルトのロケールが UTF-8 になっているので、CJKフォント(China, Japan, Korea……要はアジア系文字のフォント)さえ入っていれば、いちいちロケールを切り替えなくても、日語でも韓国語でも表示できてしまいます。なので、コマンドの出力などでは、特に意識しなくとも、文字化けすることは殆どありません。 vimも標準で文字コードの自動判別や変換に対応していますので、どのような文字コードで書かれたファイルでもきちんと読み書きできるのですが、自動判別を上手く効かせるためには、多少設定してやる必要があります。 .vimrc の設定 私が使っている自動判別の設定は以下の通りです。~/.vimrc ファイルの末尾に追加してみてください。 :

    viで日本語の文字コードを自動判別 - 玉虫色に染まれ!!
  • Safariの文字化けを直すブックマークレット - iPod touch脱獄活用

    iPod touchのSafariは、メタタグで文字コードを指定していないと容赦なく文字化けしちゃいます。そこで便利なブックマークレットがあります。 では、Safariより 「http://touch.wakufactory.jp/prox/」 へアクセスします。 次にそのページをブックマークします。で、「ブックマークに登録」という画面で、「http://touch.wakufactory.jp/prox#」 という文字列を削ってください。つまり、最終的なアドレスは「javascript:location~」 という風になります。できたら保存しましょう。 あとは文字化けするページでこのブックマークレットを使えば文字化けを直すことができます。

  • utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    utf8::is_utf8 considered harmful - Bulknews::Subtech - subtech
  • Servlet Garden » Unicode and Character Sets (Translation)

    勉強を兼ねての勝手に翻訳シリーズ第3弾です。今回はJoel Spolsky氏のブログに掲載されていたThe Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)です。掲載されたのは2003年10月と、5年近く前のことなので、現状にそぐわないところもあるかもしれませんが、とても参考になる解説です。 ソフトウェ開発者なら絶対に最低限知っていなければならないユニコードと文字セットについて(言い訳はなしですよ!) 不可解なContent-Typeタグについてかつて疑問に思ったことはないでしょうか?おそらくHTMLファイルに書き込むものということは知ってるでしょうが、なんのためにそれなければいけないのかまでは知ら

    nacookan
    nacookan 2008/02/06
    ソフトウェ開発者なら絶対に最低限知っていなければならないユニコードと文字セットについて
  • 1