タグ

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

  • 文字コードの話

    稿は、1996年に筆者が大学の所属サークルの機関誌に寄稿した記事をもとに加筆訂正したものです。(最終更新 1999.7.31) 目次 はじめに 第1章 日語のコード体系 第2章 ASCIIと1バイト文字コード 第3章 JIS漢字コードとエンコーディング法 第4章 ISO 2022 第5章 ISO 2022の実例 第6章 中国語・韓国語の文字コード 第7章 ISO 10646とUnicode おわりに 参考文献 はじめに ASCIIだけで用が足りるアメリカと違って、 私たちは日語を扱わなくてはならないため、 より深く文字コードの問題と関わらざるをえません。 それでも、MS-DOS/WindowsMacを使う限りでは、 ASCIIとシフトJIS(たまにJIS)を知っていれば済みますが、 UNIXやインターネットを使い始めると、 JIS・EUC・シフトJISとさまざまな日語コードに頭を

  • なぜ「神」と「神」を分けたいのか | yasuokaの日記 | スラド

    川幡太一の『CSSにおける文字とフォント』を聞きながら思ったのだが、結局のところ日は、Unicodeにおける漢字統合に、いまだ納得していないということなのだろう、と、今更ながら思いあたった。すなわち「神」と「神」に、同じ文字コードが割り当てられているのが、我慢ならないのだ。その結果、「U+795E」と「U+FA19」とで分けてみたり、「U+795E U+E0101」と「U+795E U+E0100」とで分けてみたり、何らかの方法で分けたい、ということになってしまっているわけだ。 でも、単に「分けたい」と言ってもJTC1/SC2/WG2は聞いてくれなかったので、JIS X 0213を理由にしてみたり、人名用漢字を理由にしてみたり、旧字による出版印刷を理由にしてみたり、戸籍統一文字を理由にしてみたりしてしまった。その結果「分ける」理由によって、異なるアプローチが起こってしまった。互換漢字とか

    denken
    denken 2011/06/07
    なぜ「へ」と「ヘ」を分けたいのか
  • 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 での話。 一応、文章の先頭付近に日語の文字を書いておくのは、他の

    denken
    denken 2011/02/26
    「個人的 UTF-8 用エンコーディング誤認識防止文字は、〠。」
  • 2010-02-14 - 未来のいつか/hyoshiokの日記

    例えば、次の言葉の意味を知りたい、聞いたことがあるけどよく分かっていないプログラマにとって、お勧めの書籍だ。Unicode/UTF-8/UTF-16/USC-2/JIS X0208/JIS X0212/JIS X0213/SJIS/EUC-JP/CP932/ISO-2022-JP/ASCII/Latin-1/ISO 10646/ISO 8859-1/サロゲートペア/文字化け/機種依存文字/半角カナ/絵文字… JIS X0208やJIS X0213の解説などは圧巻である。書籍にはWebにない利点がある。Webには即時性があるが、文字コードの解説においては、即時性はそれほど求められない。字体ないし字形の差異についてWebではその字体ないし字形がなければ表現しようがないが、書籍であれば細部までこだわって表現できる。 例えば、包摂された「辻」という字の一点しんにょうと二点しんにょうの字体の差はWe

    2010-02-14 - 未来のいつか/hyoshiokの日記
  • Unicode nearing 50% of the web

    Hey—we've moved. Visit The Keyword for all the latest news and stories from Google

    Unicode nearing 50% of the web
    denken
    denken 2010/02/09
    Unicodeで記述されたページの割合が50%に近づいてるらしい
  • 漢字1文字が最大8バイト、Unicodeの「IVS」とは?

    「漢字1文字は2バイト」という常識が、大きく変わろうとしている。現在改正中の「常用漢字表」に対応するためには、Unicodeの4バイト文字を使用する必要があるが、それだけでは済まない恐れがある。今後、戸籍や住民基台帳で使われている文字がUnicodeに追加されると、漢字1文字が最大8バイトになるかもしれない。文字コードに詳しい京都大学人文科学研究所附属東アジア人文情報学研究センターの安岡孝一准教授が、問題の核心を解説する。(日経コンピュータ) 先日公開した『新常用漢字表が迫るUnicode移行、「シフトJIS」では対応不可能』の読者から、「今後のシステムでは漢字1文字を最大4バイトで処理すればいいのか」という質問を頂いた。実は、UTF-8あるいはUTF-16で漢字を表す場合、最新のUnicodeにおけるIVS(Ideographic Variation Sequence)を考慮すると、漢

    漢字1文字が最大8バイト、Unicodeの「IVS」とは?
    denken
    denken 2010/02/06
    文字と数字
  • 新常用漢字表が迫るUnicode移行、「シフトJIS」では対応不可能 | 日経 xTECH(クロステック)

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

    新常用漢字表が迫るUnicode移行、「シフトJIS」では対応不可能 | 日経 xTECH(クロステック)
    denken
    denken 2009/12/11
    たまに変なフォントで表示される文字があるなあと思ってたけど、4バイト文字なのか > 𠮟
  • UnicodeとUTF-8の違いは? - Humanity

    という2chのスレがかなり勉強になったのでまとめ。 少しでも有用だと思ったものは載せてあるので結構長いです。 Unicodeのような文字集合(符号化文字集合?)やUTF-8のようなエンコーディング方式に限らず色んな文字コードにまつわる話があります。 たびたび話が繰り替えされますがそれは確認ということで。 (元スレ) 追記:簡単にまとめました。 1 :デフォルトの名無しさん:2007/04/30(月) 20:02:37 ビッグインディアンとかなんとかかんとか 3 :デフォルトの名無しさん:2007/04/30(月) 20:05:48 また、頭の悪そうなスレが・・・ >>1 それは魚とマグロの違いを訊ねるようなもんだ。 4 :デフォルトの名無しさん:2007/04/30(月) 20:06:49 魚と鮪というよりは、魚と刺身の違いのような気がする。 5 :デフォルトの名無しさん:2007/04/

    UnicodeとUTF-8の違いは? - Humanity
  • 自分の持ち場を守ること - もじのなまえ

    どうもご無沙汰をしております。前回エントリから1ヵ月以上ですか。この間、「もじもじカフェ」があったり(たくさんの方に足を運んでいただき、ありがとうございました)、明日にはいよいよ漢字小委員会で最終答申案が発表される予定だったりと、けっして書くネタに困るような状況ではなかったのですが、ここ1ヵ月はブログどころではなかったのが実情でした。 では、なにをやっていたかというと、仲間とともに以下のような文書を作っておりました。 A Proposal to Revise a Part of Emoticons in PDAM 8[「PDAM8におけるEmoticonに対する修正提案」PDF/1.1MB] ISO/IEC 10646を審議するWG2委員会への寄書。絵文字についてです。 昨年11月にGoogle絵文字をUnicodeに収録する計画を発表しました。これは順調にすすみ、今年2月にUnicod

    自分の持ち場を守ること - もじのなまえ
    denken
    denken 2009/10/23
    こういう専門家はかっこいい
  • セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?

    (Last Updated On: )一見徳丸さんのブログは分かりやすいように思えますが、それは単純な実験により分かりやすいように見えるだけで複数の間違いがあります。 その間違いとは 意図の取り違い – 誤読 言語の仕様と実装の理解不足 HTTPやPHP仕様の理解不足 セキュリティ対策をすべき場所の理解不足 です。(※0) 徳丸さんは非常勤とは言え、国の出先機関の研究員であるし、その出先機関は職務放棄とも言える文書(「例えば、PHPを使用しない」と勧める文書)を公開している(いた?)のでしっかり反論しておく必用がありますね。IPAのあの文書は職務放棄と言える文書だと思っています。これについても後で意見を述べます。 意図の取り違い – 誤読 最初の間違いは私のブログのエントリ「何故かあたり前にならない文字エンコーディングバリデーション」に対する理解です。特にPHPユーザに対して文字エンコーデ

    セキュリティ専門家でも間違える!文字エンコーディング問題は難しいのか?
    denken
    denken 2009/09/18
    「徳丸さんのブログを見てびっくりすると同時に失望しました。徳丸さんがWebの基礎的な技術仕様や言語の仕様、実際の現場での利用方法などを理解していないで評論していることが分かったからです。」
  • UTF-8の動的コンテンツをShift_JISと誤認させることで成立するXSS - masa141421356’s blog

    文字コード指定の無いUTF-8のコンテンツでは、ブラウザ側の文字コード自動認識でシフトJISと誤認させることで、HTMLの特殊文字を一切使わずにXSSが成立する場合があります。 原理 UTF-8 では1文字が3バイトマッピングされる場合があります。 そこで、これをShift_JISと誤認させると、3バイト目と次の1バイトをセットで1文字と誤認させることができます。これにより、HTMLの区切り文字の効力を失わせてスクリプトを注入することが可能です。 例:"あ" = E3 81 82 なので、シフトJISと誤認すると "縺" (E381) +余分な先行バイトの 0x82 具体例 例えば、動的なコンテンツ(UTF-8で応答を生成) <html> <head> <title>abcde</title> </head> <body> <form> <input type=text value="ユー

    UTF-8の動的コンテンツをShift_JISと誤認させることで成立するXSS - masa141421356’s blog
    denken
    denken 2009/08/13
  • そろそろUnicodeについて一言いっておくか - 未来のいつか/hyoshiokの日記

    文字コードの標準化について日記を書いたのだが、内容がいまいちだったのでボツにして気を取り直してUnicodeについて一言いっておくことにする。先日、といっても昨年(2008年)の10月なんだけど、その中でちょと文字コードの標準化について話をしている。*1 もう1つ自分の経験としてあるのが、漢字の文字コードがあるんですけど、番号で言うとJIS X 0208とか0212とか規格の番号で皆言うわけなんですけど、実は1988年にその日語の文字コードの改正の委員会にいたんですね。 その当時、私は 30歳ぐらいなんですけど、「富士通」とか「日立」とか「NEC」の部長さんぐらいの偉い人たちが来てて、私なんか外資系で且つ30前後のぺーぺーだから、全然格下なんですよ。 そういうところで議論の主軸を担ってるのは、「富士通」「日立」「NEC」「日IBM」「東芝」「沖」、外資でいえば「ユニシス」とかの錚々たる

    そろそろUnicodeについて一言いっておくか - 未来のいつか/hyoshiokの日記
  • MySQLの文字コード設定についてのメモ - nokunoの日記

    PHPの文字コード設定についてのメモ - nokunoの日記に続き、今度はMySQLの設定についてのメモです。バージョンは5.0.67です。 れぶろぐ - [MySQL] MySQL 4.1 以降の文字化け問題my.confを以下のように設定する。 [mysqld] default-character-set = utf8 skip-character-set-client-handshake [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 簡単にいうと次の2つを行う。サーバーと、mysqldumpコマンドと、mysqlコマンドの文字コードをutf8(utf-8ではない!)にする。skip-character-set-client-handshakeで文字コードの自動変換をオフにする

  • 第20回 文字エンコーディングとセキュリティ(2) | gihyo.jp

    前回に引き続き、今回も文字エンコーディングとセキュリティをテーマに解説します。前回は文字エンコーディングを利用した攻撃で、JavaScriptインジェクションやSQLインジェクションなどが可能であることを紹介しました。今回はなぜ、文字エンコーディングを利用して攻撃できるのか、簡単に紹介します。 文字エンコーディングを利用した攻撃の原理 文字エンコーディングを利用した攻撃には3種類の方法があります。 不正な文字エンコーディングを利用する方法 文字エンコーディングを誤認識させる(誤認識を利用する)方法 文字エンコーディングのエスケープ方式を利用する方法 この連載は攻撃方法を詳しく解説する事が目的ではありません。具体的なの攻撃方法の解説はできる限り控え、なぜこの3つ手法が攻撃に利用できるのか解説します。 前回も触れましたが、パス遷移攻撃には文字エンコーディングを利用した攻撃方法もあります。 文字

    第20回 文字エンコーディングとセキュリティ(2) | gihyo.jp
    denken
    denken 2008/12/29
    「 文字エンコーディングのチェック例 function check_encoding($key, $value) { if (!mb_check_encoding($value, 'UTF-8')) { die('Invalid charactor encoding detected'); } } array_walk_recursive($arr, 'check_encoding');」
  • 文字エンコーディングについて、text/htmlの事情とXMLの事情 - 徒書

    text/htmlのXHTML(1.0)文書のデフォルトの文字エンコーディングは - cnrdの日記より。 XML宣言とDOCTYPE宣言 - vantguarde - web:gをきっかけにXHTML Media Types - Second Editionを見て、XHTML Media Types(FE, SE)のtext/htmlの項とXHTML 1.0 SEやXHTML Media Types FEのHTML互換性ガイドラインはデフォルトの文字エンコーディングの点で矛盾があるのでは、と思いました。 上記を拝見して自分も XHTML Media Types Second Edition の「3.1. 'text/html'」の項 XHTML Media Types Second Edition の互換性ガイドラインの項 を読んでみたのですが、この2つの記述は矛盾というよりは、現時点に

  • Unicode - 似た文字同士にご用心 : 404 Blog Not Found

    2008年05月02日04:00 カテゴリLightweight Languages Unicode - 似た文字同士にご用心 後者はハイフンでなくてマイナス記号でんがな。 [を] UTF-8 の全角ハイフンが Perl の正規表現にマッチしなくて悩んだ で、元のテキストファイルの全角ハイフンを「od -t x1」 で見てみると「ef bc 8d」と「e2 88 92」の2種類が混じっていました。 前者は「\p{Hyphen}」にマッチするのですが後者はダメ。 まあ原因は分かったので、前処理でバイナリ置換して解決しました。 で、紛らわしそうなのを名前のHYPHENとMINUS SIGNでgrepするとこんな感じになる。 egrep '(HYPHEN|MINUS SIGN)' /usr/local/lib/perl5/5.10.0/unicore/Name.pl -002DHYPHEN-MI

    Unicode - 似た文字同士にご用心 : 404 Blog Not Found
    denken
    denken 2008/05/02
    全角ハイフン関係で以前ハマったことがある
  • 続: そろそろUTF-7について一言いっとくか - 葉っぱ日記

    史上空前のEUC-JPブームはとりあえずおいておいて、今日も最強の文字コードであるUTF-7について。 これまで私の中では、UTF-7によるXSSを避けるためには、Shift_JISやUTF-8といった、IEが受け入れ可能なcharsetをHTTPレスポンスヘッダまたは<meta>で明記してやればよいという理解でした。 具体的には、HTTPレスポンスヘッダで Content-Type: text/html; charset=Shift_JIS とするか、生成するHTML内で <meta http=equiv="Content-Type" content="text/html; charset=Shift_JIS"> とすれば、UTF-7によるXSSは防げると思っていました。ところが、後者の<meta>によるcharsetの指定では、条件によってXSSが防げないことがあるということに気付きま

    続: そろそろUTF-7について一言いっとくか - 葉っぱ日記
  • 葉っぱ日記 - レジストリの HKCR¥MIME¥Database¥charset 以下に定義されています。

    UTF-7を利用したXSSは、charset が指定されていない場合に発生すると考えられていますが、少なくとも Internet Explorer においては、これは大きな間違いです。正しくは、Internet Explorer が認識できる charset が指定されていない場合であり、charsetが付加されていても、IEが認識できない文字エンコーディング名である場合にはXSSが発生します。 例えば、次のような HTML は(HTTPレスポンスヘッダで charset が明示されていない場合)IEが文字エンコーディング名を正しく認識できないため、その内容からUTF-7と解釈されるためにスクリプトが動作します。"utf8"という表記はUTF-8の慣用的な表現ではありますが、ハイフンが抜けており正しい表記ではありません。 <html> <head> <meta http-equiv="Co

    葉っぱ日記 - レジストリの HKCR¥MIME¥Database¥charset 以下に定義されています。
  • MyNA Web Site

    Counter: 813, today: 2, yesterday: 1 Last-modified: Sun, 25 Mar 2007 15:45:04 JST (6202d) Site admin: webmaster B-Wiki 20050210 Copyright © 2003-2005 ishii. License is GPL. Based on "PukiWiki" 1.4.5-2005/02/10 by PukiWiki Developers Team. Powered by PHP 5.5.9-1ubuntu4.29. HTML convert time: 0.005 sec.

    denken
    denken 2007/03/27
    UTF8において4バイトで表現される文字のまとめ。これらの文字をMySQLに投げるとこの文字以降の文字列が挿入されない。
  • http://openblog.meblog.biz/article/61959.html

    denken
    denken 2007/03/19
    このブログの管理人はロックだ。