関連キーワード
文字化け 文字コード 変換 コード表 bom unicode FFFTP teraterm pro 改行コード 改行 teraterm 休eei= excel 符号化 相eei= 6x癪ei= 結婁eei= Perl 半角カナ euc MySQL コード一覧 文字コード表 エンコード エディタ PHP shift-jis html sjis 日本語該当キーワードの検索推移
wikipediaでの検索結果
UTF-8
UTF-8(旧UTF-2)はISO/IEC 10646(UCS)とUnicodeで使える符号化方式。
正式名称は、ISO/IEC 10646では'UCS Transformation Format 8'、Unicodeでは'Unicode Translation Format-8'という。
両者はISO/IEC 10646とUnicodeのコード重複範囲で互換性がある。
2バイト目以降に'/'などのコードが現れないように工夫されていることから、'UTF-FSS'(File System Safe)ともいわれる。
RFCにも仕様がある。
データ交換方式、ファイル形式としては一般的にUTF-8が使われる傾向がある。
Linux等では、OSの標準文字エンコードとして使用される例も増えている。
エンコード体系
ASCII文字と互換性を持たせるために、ASCIIと同じ部分は1バイト、その他の部分を2~6バイトで符号化する。4バイトのシーケンスでは21bit(0x1FFFFF)まで表現することができるが、Unicodeの範囲外となる17面以降を表すもの(U+10FFFFより大きなもの)は受け付けない。また5~6バイトの表現は、ISO/IEC 10646による定義とIETFによるかつての定義で、Unicodeの範囲外を符号化するためにのみ使用するが、Unicodeによる定義とIETFによる最新の定義では、5~6バイトの表現は不正なシーケンスである。
ビットパターンは以下のようになっている。
0xxxxxxx (00-7f) 7bit
110yyyyx 10xxxxxx (c0-df)(80-bf) 11bit
1110yyyy 10yxxxxx 10xxxxxx (e0-ef)(80-bf)(80-bf) 16bit
11110yyy 10yyxxxx 10xxxxxx 10xxxxxx (f0-f7)(80-bf)(80-bf)(80-bf) 21bit
111110yy 10yyyxxx 10xxxxxx 10xxxxxx 10xxxxxx (f8-fb)(80-bf)(80-bf)(80-bf)(80-bf) 26bit
1111110y 10yyyyxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx (fc-fd)(80-bf)(80-bf)(80-bf)(80-bf)(80-bf) 31bit
Unicodeのコードポイントを2進表記したものを、上のビットパターンのx, yに右詰めに格納する。
最短のバイト数で符号化するため、yの部分には最低1回は1が出現する。
符号化されたバイト列は、バイトオーダーに関わらず左から順に出力する。
これにより4バイトで21bit、6バイトで31bitまで表現することができる。
1バイト目の上位ビットの1の個数でその文字のバイト数が判るようになっている。また、2バイト目以降は10で始まり、1バイト目と2バイト目以降では値の範囲が重ならないので、文字境界を確実に判定できる。
7バイト以上の文字は規定されないため、fe, ffは使用されない。このため、バイトオーダーマーク(BOM)にfeとffを使用するUTF-16が、UTF-8と混同されることはない。
特徴メリット
デメリット
サロゲートペアの扱い
UTF-16のサロゲートペアで表されるBMP外の文字をUTF-8に変換するときは、まず4バイトのサロゲートペア(前半0xD800〜0xDBFF, 後半0xDC00〜0xDFFF)をU+10000からU+10FFFFまでの値にデコードしてからUTF-8に符号化しなければならない。サロゲートペアに使われるU+D800からU+DFFFまでの範囲を、UTF-8でそのまま符号化することは禁止されており、不正なシーケンスとみなされる。
サロゲートペアを残したままUTF-8と同等の符号化を行う規格は、CESU-8(Compatibility Encoding Scheme for UTF-16: 8-Bit)として別途定義されている。
これは、Oracle Databaseのバージョン8以前において、UTF-8文字は3バイトまでしか扱えなかったために便宜的に定義されている。4バイトのサロゲートペアは使用せず、代わりに6バイトのサロゲートペア(前半がED A0 80〜ED AF BF、後半が ED B0 80〜ED BF BF)で表現される。
なお、現在のOracle Databaseでは、CESU-8を「UTF8」として、「普通のUTF-8」を「AL32UTF8」として扱っているため注意を要する。
また、Javaの一部の内部実装で用いられているModified UTF-8も、サロゲートペアをそのまま残す仕様となっている。
但し、NULL文字を
C0 80とエンコードする(これもUTF-8規格外)点で、CESU-8とも異なる実装となっている。セキュリティUTF-8のエンコード体系には冗長性があり、同じ文字を符号化するのに複数の表現が考えられる。かつてはそのような表現も許容されていたが、ディレクトリトラバーサルなどの対策として行われる文字列検査を冗長な表現によりすり抜ける手法が知られるようになったため、現在の仕様では最も短いバイト数による表現以外は不正なUTF-8シーケンスとみなさなければならない。
また、ISO/IEC 10646の定義が5バイト以上の表現を許容していることにより、注意深さの足りない実装でエンコード時にバッファオーバーフローが発生する可能性も指摘されている。
日本語の文字とバイト数
バイトオーダーマークについてUTF-8で符号されたテキストデータはエンディアンに関わらず同じ内容になるので、UTF-8で符号化されていることが確定しているのならバイトオーダーマーク (英: Byte Order Mark。以下BOM) を付加する必要はない。しかし、一部のテキスト処理アプリケーション (エディタなど) では、作成したテキストデータの先頭にBOMを付加する (付加するかどうかを選択できるものもある)。付加する場合は、EF BB BF (16進。U+FEFFのUTF-8での表現) をデータの先頭に付加する。なお、BOMありの方をUTF-8、なしの方をUTF-8Nと呼ぶこともあるが、このような呼び分けは日本以外ではほとんど知られておらず、また公的規格などによる裏付けもない。このため、UTF-8という呼び名を使っていれば情報交換の相手が文書先頭にBOMがあると見なすと期待すべきではないし、いっぽう、UTF-8Nという呼び名は情報交換の際に用いるべきではない。
BOMを付加する目的は、その文書がUTF-8であることを確実に認識できるようにするためだと考えられる。
一方で、UTF-8のBOMを認識しない(単に8ビットスルーであるというだけの、正式にはUTF-8に対応していない)プログラムでは、BOMが余分なデータとみなされて問題となる場合もある。例えば、UNIX系OSにおける実行可能スクリプトは、ファイル先頭が「#!」から始まるとき、それに続く文字列をインタプリタのコマンドとして認識するが、現状の多くのシステムでは、BOMが存在するとこの機能が働かず実行できない。ただし、これはテキストエディタで編集可能とはいえ、あくまでも実行可能な“バイナリ形式”での事例であり、テキストファイルにおけるBOMの取り扱いとは別の問題である。
逆にBOMがないとUTF-8と認識できないプログラムも存在する (とくにASCII部以外の文字が少ない場合に誤認することが多い)。
プロトコルが常にUTF-8である事を強制しているものである場合はBOMを禁止するべきで、この場合ファイル先頭のBOMは "ZERO WIDTH NO-BREAK SPACE" と見なされる。逆にプロトコルがそれを保証しない場合BOMは禁止されずファイル先頭のそれはBOMと見なされる。
Mac OS XにおけるUTF-8について一般的にUTF-8と呼ばれる場合は、ほとんどの場合NFCで正規化されたものを表す。
一方、Mac OS Xで使用されるファイルシステムでは、ファイル名をNFDにより正規化されたUTF-8で扱う。
このため、Mac OS Xに付属するiconvでは、NFDで正規化されたUTF-8をUTF-8-MACとして扱うことができる。
なお、Mac OS Xのシステムコールでは、ファイルにアクセスする際、通常のUTF-8で指定しても内部でUTF-8-MACに変換されるため、ユーザーやプログラマはこれを意識する必要は無い。
しかし、ファイルの一覧などを取得した場合、取得されるファイル名はUTF-8-MACとなる。
これで得られたファイル名を、そのまま他のシステムにコピーすると、一般的な方法ではアクセスできないファイルが作成されてしまう恐れがあるため、十分な配慮が必要となる。
関連項目脚注---------------------------------------------- 出典:「フリー百科辞典ウィキペディア」(2009-01-01)
Text is available under GNU Free Documentation License.
|
ネットで人気のキーワード(2010年02月10日 19:24現在)
- 立松和平(319.1ポイント)
- 機動戦士ガンダム(200ポイント)
- 石川被告(125ポイント)
- ベッキー・クルーエル(120ポイント)
- 立松和平さん(105.5ポイント)
- スギ花粉(100ポイント)
- 結婚で変わる女(100ポイント)
- 次長課長(100ポイント)
- 泣かないと決めた日(90.4ポイント)
- 笑顔がごちそう ウチゴハン(83.3ポイント)
MicroAD
googleブログ検索で「UTF-8」を検索
- デュラララ!! 壁紙&画像 アニメ壁紙・アニメ画像まとめ 高屋敷(アニメ壁紙・アニメ画像まとめ 高屋敷様)【22分前】
- Boys be ambitious - 塩原温泉 小さな旅館 宿六の気ままな日記(塩原温泉 小さな旅館 宿六の気ままな日記様)【29分前】
- 大阪 宮崎 どぎゃんですか? 松屋町の新しいラーメン 新月(大阪 宮崎 どぎゃんですか?様)【1時間前】
- BeautifulSoupでスクレイピングのまとめ « taichino.com(taichino.com様)【1時間前】
- カルデロン一家追い出せデモ_蕨市わらびし - Baisoku動画(Baisoku動画様)【1時間前】
- アルミニウム カードバー (アルミニウム カードバー) - 関心空間(関心空間 : 最新キーワード様)【1時間前】
- MENUワインストッパー,ビニョン (メニュー ワインストッパー ...(関心空間 : 最新キーワード様)【1時間前】
- ARM - 関心空間(関心空間 : 最新キーワード様)【2時間前】
- Services_Amazon_SQSが、マルチバイトを含むリクエストだと動作しない ...(おぎろぐはてな様)【2時間前】
- OpenVZを使ってみる - file-glob こと k.daibaの日記(file-glob こと k.daibaの日記様)【2時間前】
- ...' target='_blank'>タイトリスト 909D3 ドライバー ランバックス 6F09・7F09 シャフト ...(タイトリスト ドライバーマニア様)【2時間前】
- フリーソフトサーチβ(仮名) 初心者でも簡単にWindowsへPHP環境を導入 ...(フリーソフトサーチβ(仮名)様)【2時間前】
- ...' target='_blank'>残念なランチ。ただし、雰囲気は良い感じ。 : Cherry's Spoon [食べログ](奈良レストランのクチコミ[食べログ]様)【3時間前】
- 大通でこんなに雰囲気のあるカフェ : 櫻珈琲煎房 札幌市民ホール店 ...(北海道レストランのクチコミ[食べログ]様)【3時間前】
- 「遠雷」 - 木瓜(ぼけ)の宮(木瓜(ぼけ)の宮様)【3時間前】
- 札幌にはなかなか無いなぁ、こういう雰囲気のお店 : 札幌 新倉屋 本店 ...(北海道レストランのクチコミ[食べログ]様)【3時間前】
- ソルボ タテアーチサポーター オフホワイト S - 関心空間(関心空間 : 最新キーワード様)【3時間前】
- 安くて美味しいと評判の焼肉屋さん : 焼肉 ほりぐち 札幌店 [食べログ](北海道レストランのクチコミ[食べログ]様)【4時間前】
- 小さいからこそ出る良い雰囲気 : 寿珈琲(コトブキコーヒー) kotobuki coffee ...(北海道レストランのクチコミ[食べログ]様)【4時間前】
- モトヤ : モトヤ.Pancake Ristorante モトヤ・パンケーキ ...(神奈川レストランのクチコミ[食べログ]様)【4時間前】
- HEAVY RAIN 壁紙&画像 アニメ壁紙・アニメ画像まとめ 高屋敷(アニメ壁紙・アニメ画像まとめ 高屋敷様)【4時間前】
- 神戸市の排水溝のふた - 関心空間(関心空間 : 最新キーワード様)【4時間前】
- 〆のラーメンとして : 味の蔵 ススキノ店 アジノクラ[食べログ](北海道レストランのクチコミ[食べログ]様)【4時間前】
- 熱々ジューシーハンバーグ : 大かまど 芝 オオカマド シバ[食べログ](北海道レストランのクチコミ[食べログ]様)【4時間前】
- 開店時間を消したほうがいいですよ! : 桜咲 [食べログ](神奈川レストランのクチコミ[食べログ]様)【4時間前】
- InDesign_10桁数値→人間語のハッシュマップ - diary NET. 1mg(diary NET. 1mg様)【5時間前】
- ランビック@厚木ビール : 地ビールレストラン LAMBIC ヂビール ...(神奈川レストランのクチコミ[食べログ]様)【5時間前】
- BBSの文字コードUTF-8が認識出来ません - VoIP-Info.jp BBS(VoIP-Info.jp Forum様)【17時間前】
- 日本語ファイル名を持つファイルを含む zip ファイルを、utf-8 .tar.gz ...(好奇心と怠惰の日々様)【2日前】
- utf8', $str); UTF8フラグを付ける ファイルを扱う時は ...' target='_blank'>utf8でデータベース使う時の文字コード関連のまとめ(c⌒っ゚д゚)っφ メモメモ...様)【3日前】
yahooブログで「UTF-8」を検索
- きかんくまなのり(おぎっち様)【39分前】
- [コラム]こんな投げやりな日もあるさ(ちろりん村の社長日記様)【1時間前】
- とりあえずページを作ってみるの続き(Linuxに使われる日々様)【2時間前】
- [PEAR][AmazonSQS][Webservice][PHP]Services_Amazon_SQSが ...(おぎろぐはてな様)【2時間前】
- [PEAR][AmazonSQS][Webservice][PHP]Services_Amazon_SQSは ...(おぎろぐはてな様)【2時間前】
- [wxPython][Python] GUIアプリケーションの日本語表示と英語 ...(理想のユーザ・インターフェイスを求めて様)【2時間前】
- [TREND][パターン]パターンアップ-6.837.80(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]ハッカージャパンブログ ハッカージャパ ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]ブラッディマンデイ ~Season2~ 第1話後 ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]Microsoft、Windows 7の「バッテリ交換」 ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][勉強会][続報]UCCのTwitter騒動、11アカウントからツ ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]Microsoft、Red Hat Linuxサポートをひっ ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][雑記]Appleの「A4」プロセッサとは何か? - エンジニア ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][雑記]asahi.com(朝日新聞社):南極観測船しらせ、気 ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]グレープシティ、.NET表計算コンポーネン ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]EMC・シスコ・VMwareの3社、プライベート ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]高添はここにいます : 省電力は狙い通り ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]asahi.com(朝日新聞社):スイス銀行の ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][SKIL]@IT自分戦略研究所の「おすすめエンジニアライフ ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]ITマネジャーの「5人に4人」はクラウドを ...(まっちゃだいふくの日記★とれんどふりーく★様)【3時間前】
- [IT][セキュリティ]GumblarなどによるWebページ改ざんを定期 ...(まっちゃだいふくの日記★とれんどふりーく★様)【4時間前】
- [IT][セキュリティ]モジラ、Firefoxの開発ツリーからMac OS ...(まっちゃだいふくの日記★とれんどふりーく★様)【4時間前】
- [IT][セキュリティ]フィッシング対策セミナー資料公開:フィ ...(まっちゃだいふくの日記★とれんどふりーく★様)【4時間前】
- [IT][セキュリティ]ガンブラー対策、 ウェブ制作会社名の公 ...(まっちゃだいふくの日記★とれんどふりーく★様)【4時間前】
- [IT][セキュリティ]石巻専修大、Win7対応ネットブート型シン ...(まっちゃだいふくの日記★とれんどふりーく★様)【4時間前】
- [IT][セキュリティ]情報流出の対応は間違えないでほしい―― ...(まっちゃだいふくの日記★とれんどふりーく★様)【4時間前】
- [IT][セキュリティ]アクセスログの保存期間は何ヶ月が正解? ...(まっちゃだいふくの日記★とれんどふりーく★様)【4時間前】
- [IT][セキュリティ]日本の年賀状に見せかけたPDF、特定組織 ...(まっちゃだいふくの日記★とれんどふりーく★様)【4時間前】
- [IT][雑記]asahi.com(朝日新聞社):黙々と木植えた立松和 ...(まっちゃだいふくの日記★とれんどふりーく★様)【4時間前】
- Poderosa でショートカットからパスワード入力なしで接続す ...(ablog様)【4時間前】










![Validate my RSS feed [Valid RSS]](http://navig1.sakura.ne.jp//image/valid-rss.png)