« Apple、大型タッチパッド端末iPadを発表 | Main | パスワード管理の共通APIが必要な時代かも? »

2010.01.30

日本語システムは1文字8バイト超も視野に?

ITproに「漢字1文字が最大8バイト、Unicodeの「IVS」とは?」という記事が載りました。
現在のUnicodeは21bitでデータ長は最大4バイトですが、異体字の対応に異体字セレクタ(IVS)を導入し、異体字は基本字形のコードにセレクタのコードを付与し、バリエーションとして定義することになりました。

この方法のメリットは、異体字を含むデータを検索する時に完全一致でなくても検索ができる、というところです。
実際にはプログラムとして書くのがそれなりに面倒ですから、Unicodeを正しく扱えるOSのライブラリを使用することになりますが、異体字テーブルなどを持たなくても良いため、将来の文字増加に対してもライブラリ側の異体字テーブル更新が必要ない、というところがポイントになります。

ということで、少し前までは1文字4バイト換算が妥当でしたが、今後のUnicode拡張のことを考えると思い切って1文字16バイトで勘定する方が良さそうに見えます。
ただ、その場合、データベースのncharやnvarchar型で入るデータが今の1/4程度になってしまいます。
Oracleだと文字列型で1列最大4000バイトまで定義できますが、1文字8バイトだと500文字、1文字16バイトで換算すると250文字程度しか入らないことになります。
Unicodeのコード表現がより冗長になるなら、データベースの文字列型の拡張が今後必要になるかもしれません。

Bellavista_20100129_1 Bellavista_20100129_2 Bellavista_20100129_3
今日の夕飯:BELLA VISTA カキとカブのスパゲティ + フルーツトマトとブリのカツレツ
カブが塩味とカキのジュースで味がついてウマーです。

|

« Apple、大型タッチパッド端末iPadを発表 | Main | パスワード管理の共通APIが必要な時代かも? »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/27186/47423884

Listed below are links to weblogs that reference 日本語システムは1文字8バイト超も視野に?:

« Apple、大型タッチパッド端末iPadを発表 | Main | パスワード管理の共通APIが必要な時代かも? »