UTF-8の利点は?


オープンソースSNSの「OpenPNE」がバージョンアップして、文字コードをUTF-8に変更したって聞きました。どんなメリットがあるのでしょうか。逆にデメリットもあれば教えて下さい。

回答の条件
  • 1人2回まで
  • 登録:2006/06/13 20:10:08
  • 終了:2006/06/20 20:15:03

回答(5件)

id:int80h No.1

int80h回答回数359ベストアンサー獲得回数252006/06/13 20:14:48

ポイント20pt

UTF-8 - Wikipedia

http://ja.wikipedia.org/wiki/UTF-8


以下のようなメリットがある。

バイトストリーム中の任意の位置から、その文字、前の文字、あるいは次の文字の先頭バイトを容易に判定することができる。

文字列の検索を単なるバイト列の検索として行っても、文字境界と異なる個所でマッチしてしまうことがない。

デメリットには以下のようなものがある。

漢字(仮名含む)の表現に3バイトを要する。そのため日本語の文章はS-JISやEUCなどと比較して1.5倍のサイズとなる。

id:kurukuru-neko No.2

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/06/13 20:30:25

ポイント20pt

個別にContent-Type等で文字コードを扱う場合、

それぞれの文字コードに応じた処理をプログラムで容易

する必要があります。

UTF-8(8-bit UCS Transformation Format)

はUnicode及び、ASCII 7Bitの文字を表現する

可能です。

メリットとして単一のUTF-8をサポートすると

Unicodeに含まれる多国後対応が単一のソース

で実現できる事です。 ASCII部分の同じ表現

の為容易に可読可能な点です。

デメリットは、エンコードする事により文字を表現する

データの長さがbyte単位で最大6倍になってしまう

事です。


http://www.linux.or.jp/JM/html/LDP_man-pages/man7/utf-8.7.html

http://e-words.jp/w/UTF-8.html

http://docs.openpne.jp/?ChangeLog

id:kurukuru-neko No.3

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/06/13 20:44:11

ポイント20pt

訂正

>データの長さがbyte単位で最大6倍になってしまう

データの長さがbyte単位で最大1.5倍になってしまう

  

id:villain No.4

villain回答回数174ベストアンサー獲得回数122006/06/13 21:44:30

ポイント20pt

UTF-8はUnicodeをASCII文字列はASCIIコードと互換性のある

文字コードを使用できます。

その為、ASCII文字列は簡単にUTF-8に移植できます。

BOMなしのUTF-8でASCII文字列のみの場合はASCIIと区別つきま

せん。

(WinNT系のメモ帳=NotepadはBOM付きのUTF-8でも保存できますが

日本語など非ASCII文字列を入れないでUTF-8で保存し、バイナリ

エディタなどでBOMを削ると再度開いたときにはASCIIになってい

ます)


デメリットとしては比較的新しい符号化方式なのでWin-95の

MultiByteToWideChar/WideCharToMultiByte関数などでは

UTF-8<->MultiByte文字列の相互変換はできません。

(Win98以降ではできます)


基本的にASCII文字列をそのまま利用できるためASCII文字列を

主に使用している国では簡単に多言語化できるので最近では

よく利用されています。

しかし、日本語などのマルチバイト文字は3byte以上になって

しまうなど、デメリットも大きいためあまり使用されていません。

Perlなどでは日本語Winがデフォルトで使用する文字コードSJISで

様々なやっかい毎を起こすので最近ではUTF-8で記述されることも

多くなってきたかも知れません。

単純に日本語環境下ではUnicodeを使用する機会が少ないために

ワザワザ苦労して問題点のあるUnicodeを採用する必要性がない

のでどうしてもあまり使用されていません。

少しずつ、世界的にはUTF-8が文字コードの標準になり始めて

いますが日本ではあまり精力的ではありません。

理由などはWikipediaのUnicode項目でも見ると分かりやすいと

思います。


id:sibazyun No.5

sibazyun回答回数1759ベストアンサー獲得回数2372006/06/13 22:16:44

ポイント20pt

私のブログ:http://sibazyun.cocolog-nifty.com/sibazyun/ のように、非アスキー系(ドイツ語のウムラウトとか。私の場合はエスペラント)でサイトをつくるのにはUTF8は必須ですね。

 メーラーで対応していないのがあるので、メールを送ると人により文字化けするのが困りますが。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません