Hatena::ブログ(Diary)

まっちゃだいふくの日記★とれんどふりーく★ このページをアンテナに追加 RSSフィード Twitter

カレンダー
<< 2017/11 >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

このBlogは個人的に収集しているセキュリティ情報や製品情報について書いています。
また、トレンドマイクロ製品+パターン+ウィルスの情報も提供しています。
Trendmicro Japanがイエローアラート以上を出した場合いろいろな情報を提供するようにしています。
Matcha's Security Blogにてセキュリティ情報(英語)も提供しています
各ウイルスバスターの不具合やBlogでの反応:クラウド(2015)クラウド(2014)クラウド(2013)201220112011続き201020092008
情報なし:20162017
日本の情報セキュリティ勉強会ポータルサイト

2017年11月16日(木曜日)

[][]絵文字がある種のUnicodeバグを世界から一掃しつつある件について|Rui Ueyama|note

情報元のブックマーク

絵文字対応をやることで、UTF-16が正しく動作するプログラムになっていったと。面白い!

この結果何が生じたかというと、バグの多いプログラムである。UTF-16を採用したプログラミング言語などでは当然UTF-16を使って文字列を表すことになるが、そこで単純に2バイトで1文字を仮定してプログラムを書くと、サロゲートペアが入力されたときにそれをうまく扱うことができない。ただしそのような文字はUnicodeに後から収録されただけあって、必然的に使用頻度の低い文字ばかりで(日本語でもほとんどの日本人が見たことのないような漢字ばかりだ)、多くの場合にはなんとなく動くので、いつまでも直らないバグになっていた。あるいは最初から問題解決を諦めていて、サロゲートペアの文字を最初から使えないことにしている手抜きシステムもよくあった(MySQLの自称"utf8"エンコーディングなど)。

この状況を変えたのが絵文字だ。2010年に日本携帯電話との相互運用のためにUnicodeに追加された絵文字は、その後数年で日本語に関係なく世界中で広く使われるようになった。ほとんどの絵文字は他の最近採用された文字と同じくUTF-16では4バイト必要なのだが、どの言語でも極端に利用頻度が高いので、急に世界中の誰もがサロゲートペアについてきちんと考えざるを得なくなった。絵文字バグを直すと必然的にマイナーな漢字などもきちんと扱えるようになってしまう。これは絵文字の普及の意図せぬ副作用と言えるだろう。

ある意味、ここ数年でコンピュータの歴史上で初めて、英語圏ですらASCIIの範囲内では日常的に文字が足りないという状況になったともいえる。しかもその足りない文字はよりによってUTF-16では処理がトリッキーなサロゲートペアばかりなのである。

また同時に、絵文字などを使うと結局可変長になってしまうのだから、UTF-16ではなく最初からUTF-8を使う方がいいじゃないかという認識が以前より広まったように思う。今では内部処理であれ外部とのデータ交換用であれ、すべての局面でUTF-8を使うのがよいという認識がかなり広まりつつあるが、絵文字の普及がそれを後押ししているならとてもよいことだ。

というわけで、絵文字は後からUnicodeに収録された文字としては異例に利用頻度が高いので、いろいろなシステムにある種のストレステストを強いることになり、結果として世界的にプログラマの認識の改善とプログラムの品質向上に貢献することになったといえる。これはなかなか面白い話だと思う。

screenshot

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/ripjyr/20171116/1510822274
当ページでは、掲載内容による不具合、問題に関する責任もちません、内容が正確である保障もできません。m(__)m
各自の自己責任で、情報の確認をお願いします

毎日のトップに掲載されている今日の記念日は、MIEさんのページから頂いております。ありがとうございます。