Coppell Technologies

スマートシティの標準規格

Menu

Coppell Technologies (Top)
Fiwareで都市OSを動かしてみよう
NGSI-LDにも挑戦
データ仕様の現状と課題

スマートシティの標準規格

データモデルのユースケース

Column
Link集
用語集

Coppell

Technologies

 3. 符号化方式


2.1 UNICODEの符号化方式
2022年7月24日
 UNICODEは前章の文字セットだけでなく、符号化方式も定めています。幾つか種類がありますが、スマートシティではUTF-8を採用します。

 以下、UNICODEの取り決めの内容です。

■文字符号化形式、および符号化方式
 前章で述べた各文字のコードポイントをコンピューター内でどの様に表現するかを定めたものです。UTF-8/16/32の三種類が決められていますが、UTF-8がデファクトスタンダードです。デジタル庁の推奨モジュールもUTF-8ですので、UTF-8である事は必須です。以下、順番に整理します。
  • UTF-16: 現在はコードポイントは24ビットですが、UNICODE発案当時は16ビットでした。当時は漢字がちゃんと掲載されていなかったため、6万余りのコードポイントがあれば十分と考えられていました。その後、コードポイントが24ビットに拡張されたため、16ビットのコードポイントを二つ、つまり32ビット使って表現します。
  • UTF-32: コードポイントをそのまま32ビットで表現する方法
  • UTP-8: 欧米ではアルファベットをUTF-16やUTF-32で表現するとファイルサイズが大きくなるなどの弊害があります。このため、可変長とし、アルファベットを表現する場合には8ビットとするなどの工夫をした方式です。3

(ご参考)BOM
 コンピューターの世界では、例えば"A","B","C"の3文字は、それぞれ16進で"41","42","43"で表現しますが、"ABC"という文字列はコンピューター内では"414243"と表現するか、434241"と表現するか、二つの方式があります。 前者のビックエンディアン、後者をリトルエンディアンと言います。このため、UTF-16とUTF-32はビックエンディアンとリトルエンディアンの二つの方式があります。
 このため、先頭の一文字、つまりUTF-16なら2バイト、UTF-32なら4バイトでどちらのエンディアンかを示す特別な符号を埋め込みます。これをBOMと言います。尚、BOMを省略した場合はビックエンディアンです。
 UTF-8の場合はBOMは不要なのですが、付加する事も出来ます。UTF-8の場合のBOMは3バイトです。Windowsのメモ帳などでファイルを書き込む際、BOMありとBOM無しを選択できますが、この様な事情によるものです。尚UTF-8ではBOMを付ける事は推奨されていませんが、一部のソフトウェアでBOMを付けているものが残っています。

(愚痴)本ホームページはSJIS
 本ホームページの符号化方式はSJISです。これは、使っているソフトは「ホームページV4」というもので、UTF-8をサポートしていないためです。WordPressなどに移行しようともンが得たのですが、こんどはBiglobeがPHPに対応していなとか、MySQLなどのデータベースをサポートしていないため、断念しました。