Que quede claro

日本語を扱う

変換

説明はどうでもいいから動くソースを出せという人は、後ろのほうへ…

文字コード?

日本語をはじめとする多くのアジア言語は、0〜255 までしか表せない char 型ではとても表現できません。そこで、複数の 型を組み合わせて表現しています。ところが、日本語の場合この組み合わせ型に大きく3通りの方法があり、主に使用している OS によってその傾向が異なります。

この複数によって表される文字の数値「文字コード」と呼び、文字コードの番号付け、というか組み合わせの体系ことを「文字符号化方法 」とか「文字セット 」などと呼びます。

(内部的には  ですが) が使用され、サーバーで用いられる  が用いられています。また、電子メールやニュースグループでは  と呼ばれる文字セットを用います。

なお、最後のものを コードと呼ぶこともありますが、実際には  も  規格 (参考規格ですが) ですのでコードだけが規格というわけではありません。

文字セットについては 文字コードとエンコーディング にわかりやすく記述されています。

文字セットの構成

各文字セットは、以下の文字で構成されています。(参考)


制御コード
文字
半角カタカナ
漢字
第1バイト
第2バイト
補助漢字
第1バイト
第2バイト


制御コード
文字
半角カタカナ
漢字
第1バイト
第2バイト :

日本語

制御コード
文字
漢字
第1バイト
第2バイト :
半角カタカナ
第1バイト
第2バイト
補助漢字
第1バイト :
第2バイト
第3バイト

文字セットの判定

与えられた文字列の文字コードを変換するためには、まずその文字コードがどの種類なのかを認識する必要があります。

上記の文字セットの構成を、バイトごとにグラフに書いてみると、文字コードは以下のように判定できることがわかります。

  1. 7ビット文字で、エスケープシーケンスがない
    • 文字
  2. エスケープシーケンスを含んでいる
  3. 「1文字目が  かつ 2文字目が 」あるいは「1文字目が  かつ 2文字目が
  4. 「1文字目が
  5. それ以外
  6. かが判別できない

そこで、これを素直にインプリメントしてみましょう

¿Enterados?’

Porque si no a la próxima vais a ver lo que es  bueno.

Avisados quedais.


		

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: