facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 1
  •  
  • 2012/11/30(金) 13:16:02.46
プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
UTF-8、ShiftJIS、JIS、EUC、Uincode、 UCS、サロゲートペア、コードポイント、文字コード判定、
合成文字、ソート、TRON、外字コード、その他について語り合いましょう。
各言語での文字列の扱いについての質問もOKです。
基本マッターリ、ささ、茶でもどうぞ。

■過去スレ
文字コード総合スレ part1 http://pc11.2ch.net/test/read.cgi/tech/1031028205/
文字コード総合スレ part2 http://pc11.2ch.net/test/read.cgi/tech/1143375639/
文字コード総合スレ part3 http://pc11.2ch.net/test/read.cgi/tech/1180250376/
文字コード総合スレ part4 http://pc11.2ch.net/test/read.cgi/tech/1228052369/
(スレ再利用)UnicodeとUTF-8の違いは? http://pc12.2ch.net/test/read.cgi/tech/1177930957/
(隔離スレ)UnicodeとUTF-8の違いは? その2 http://pc12.2ch.net/test/read.cgi/tech/1274937437/
文字コード総合スレ part5 http://pc12.2ch.net/test/read.cgi/tech/1236529563/
文字コード総合スレ part6 http://hibari.2ch.net/test/read.cgi/tech/1278923059/
文字コード総合スレ part7 http://toro.2ch.net/test/read.cgi/tech/1306595564/

ここまで見た
  • 836
  •  
  • 2014/04/23(水) 01:58:46.32
何か誤解してる様だが、元々Unicodeの文字表現は可変長

ここまで見た
  • 837
  •  
  • 2014/04/23(水) 18:34:35.68
はじめは16bit固定じゃないの?

ここまで見た
  • 838
  •  
  • 2014/04/23(水) 20:59:37.84
「元々」って「当初は」って意味で書いてないのか
すまん

ここまで見た
  • 839
  •  
  • 2014/04/23(水) 21:11:18.40
「か」と「゛」で「が」みたいに
二文字で一文字を表す合字があるんだから、
言語機能かライブラリを使うしか
現実的な対応方法ないだろ。

逆に言えば、それらを使っていれば
無視できる問題。

ここまで見た
  • 840
  •  
  • 2014/04/23(水) 21:34:36.00
UTF-8あたりとごっちゃになってる?

ここまで見た
  • 841
  •  
  • 2014/04/23(水) 21:52:29.17
最初から UTF-16 も UTF-32 も可変長だけど
未だに固定長と思ってるやつなんかいるんだ?
そりゃすげーや

ここまで見た
  • 842
  •  
  • 2014/04/23(水) 21:58:56.82
そりゃ日本の官公庁相手に仕事してる分には
たいていそれで許されるからな

ここまで見た
  • 843
  •  
  • 2014/04/23(水) 22:22:44.74
>>841
「code pointを複数組み合わせた可変長で文字(grapheme)を表現する」っていう
Unicodeの基本をどうしても理解できない(認めたくない)人がいるんですよ。

ここまで見た
  • 844
  •  
  • 2014/04/23(水) 23:13:15.72
>>842

お役所が扱う人名なんて、それが許されない筆頭じゃなかろうか。

ここまで見た
  • 845
  •  
  • 2014/04/24(木) 11:06:30.10
Unicode1.0の頃はUCS-2。UTF-16は2.0から。
UCS-2はBMPの固定長エンコーディング。
まだ固定長原理主義者が多い頃だったから。

けどそれじゃBMP以外や合成文字どうすんねん、
規格の中で矛盾してるだろ、固定長原理主義無理だろってことで、
その辺入れたUTF-16になった。
たしかUTF系はベル研のケン・トンプソンが考えた8が最初。

うろ覚え書き込みだから、修正よろ。

ここまで見た
  • 846
  •  
  • 2014/04/25(金) 00:12:43.23
修正不可能なくらい間違いまくってるよ。
そもそもUCSは文字集合を定めるものであり、UTFは個々の文字を
どう表現するかを定めるものであってまったく別の概念だし。

ここまで見た
  • 847
  •  
  • 2014/04/25(金) 08:45:09.27
CPUのエンディアンが複数あるため、UTF-16にはBEとLEがあります。
どのサイトも説明見ると大体こんなような事書いてあるけど意味が分からない
エンディアンがどうこうってエンコーディングの内部で解決されるべき問題でしょ?
CPUに合わせてLEを使うと速いですよって事?

ここまで見た
  • 848
  •  
  • 2014/04/25(金) 08:57:28.13
絵文字統一か

ここまで見た
  • 849
  •  
  • 2014/04/25(金) 13:03:42.00
>>847
確かにその説明はおかしいと思う。
画像フォーマットでもtiffにはエンディアンの指定があるが、普通はどちらにも対応する。

ここまで見た
  • 850
  •  
  • 2014/04/25(金) 13:20:19.28
>>847
ちゃんとエンコーディングでBE,LEが考慮されてるでしょ?
それともBEとLEの存在自体が問題だといってんの?
何がおかしいかわからない

ここまで見た
  • 851
  •  
  • 2014/04/25(金) 13:55:02.90
何を悩んでいるのかしら無いけど、
初期のUTF16の話として16bit固定っていうのはわかるよね?

C言語風に書くならば、WCHAR型(16bit)となって、
WCHAR *text = "あいうえお";
こういう定義になる。

この時のメモリ配列はC言語の仕様によりCPUのエンディアンによって変わる。
このメモリ内容がUTF-16BEやUTF-16LEなんだよ。

ファイルに保存するときはどちらかに統一してもいいが、
処理を速くするためにCPUに合わせた形式でメモリには格納しないといけない。
だからUTF16-BEかUTF16-LEというものが生まれることになる。

メモリ内で使うために、UTF16-BE と UTF16-LE の存在を無くすことは出来ない。
そのメモリ内容をそのまま保存することもある。テキストファイルではなくて
構造体データの一部としてテキストが含まれている場合とか、一項目ずつ保存するのではなくて
メモリの構造体データを丸ごと保存したりするからね。

だから、UTF16-BEかUTF16-LEという存在はCPUのエンディアンの存在によって生まれ、
それを保存するファイルに格納されたデータの呼び名にもなる。

ここまで見た
  • 852
  •  
  • 2014/04/25(金) 14:14:58.98
テキストファイルで保存するときでもLEとBEを選べるエディタがあるんだが
それはおかしいのか?

ここまで見た
  • 853
  •  
  • 2014/04/25(金) 14:19:55.61
世の中に二つの形式があるのなら、
二つの形式を選べるのが普通でしょう?

エンディアンが違うCPUとの間でもファイルの交換や、
ネットワーク通信できるんだから。

ここまで見た
  • 854
  •  
  • 2014/04/25(金) 14:57:01.01
> C言語風に書くならば、WCHAR型(16bit)となって、
> WCHAR *text = "あいうえお";
> こういう定義になる。
WCHAR *text = L"あいうえお";
じゃね?

ここまで見た
  • 855
  •  
  • 2014/04/25(金) 15:01:18.03
別にC言語風だからどうでもいいよ

ここまで見た
  • 856
  •  
  • 2014/04/25(金) 15:34:10.60
たまには。PDPエンディアンのことも思い出してあげて

ここまで見た
  • 857
  •  
  • 2014/04/25(金) 15:49:44.73
エンディアン嘘つかない

ここまで見た
  • 858
  •  
  • 2014/04/25(金) 17:51:44.43
>>845
UCSとUTFの区別は最初はなかった。
最初はUCSのみ。
>>845も書いてるけど。

ここまで見た
  • 859
  •  
  • 2014/04/25(金) 17:56:44.39
>>847
UTF-16文字列はuint16_tの並び。
uint16_tだからCPUによってバイト順が違う。
だからエンコーディングのバイトオーダーが決まってると、
逆順のシステムはネットワークにデータを流す時にバイト順を毎回変えないといけない。
それを防ぐためにバイトオーダー順違いのエンコーディングが定義されてる。
こうしておくと必要なときだけバイト順を変えればいい。
DCE/RPCみたいに接続時にバイトオーダをネゴしてもいいし、
どちらを送られても必ず扱えるようにしてもいい。

ここまで見た
  • 860
  •  
  • 2014/04/25(金) 18:34:47.40
レスありがとう
2つの(代表的な)エンディアンがあってだからBEとLEがありますだと理由付けとして弱い、何か他にあるんじゃないの??って疑問でした。
だから
>処理を速くするためにCPUに合わせた形式でメモリには格納しないといけない。
という事情があると知り納得しました。

ここまで見た
  • 861
  •  
  • 2014/04/25(金) 20:13:07.53
2つしかない。

ここまで見た
  • 862
  •  
  • 2014/04/25(金) 20:28:19.84
Unicode規格のエンコーディングフォームと
エンコーディングスキームの区別が全く
ついていない人が集うスレはここですか?

ここまで見た
  • 863
  •  
  • 2014/04/25(金) 20:41:42.68
>>862
あなたもその一人です。

ここまで見た
  • 864
  •  
  • 2014/04/25(金) 21:32:54.46
キター
パーソナルメディア、Unicode IVS/IVDを活用する異体字検索入力ツールを発売
http://itpro.nikkeibp.co.jp/article/ActiveR/20140422/552244/

ここまで見た
  • 865
  •  
  • 2014/04/26(土) 07:57:34.66
IVS流行るんかねぇ
今3000字くらいだっけ?登録されてるの

ここまで見た
  • 866
  •  
  • 2014/04/26(土) 20:11:54.73
有料なのかよ
babelmap使えばいいな

ここまで見た
  • 867
  •  
  • 2014/04/27(日) 06:28:54.53
先月までレビューをやってた新しいIVDはその後どうなったんだろ

ここまで見た
  • 868
  •  
  • 2014/04/27(日) 06:55:39.54
>>866
しかも10ライセンス単位
それでも一般販売されるようになっただけ一歩前進

ここまで見た
  • 869
  •  
  • 2014/05/01(木) 02:19:11.86
20年以上前に MS-DOS で
grep "\["
ってやって、関係ない漢字が大量にヒットした時の絶望感。
Microsoft を捨てる理由になり得るということを
理解してくれる人は少ない。

ここまで見た
  • 870
  •  
  • 2014/05/01(木) 02:54:30.27
ほー。

ここまで見た
  • 871
  •  
  • 2014/05/01(木) 06:02:50.85
へー。

ここまで見た
  • 872
  •  
  • 2014/05/01(木) 17:37:23.88
MS-DOSにgrep有ったのか

ここまで見た
  • 873
  •  
  • 2014/05/01(木) 17:56:01.26
アスキーの Software Tools for MS-DOS 他、いろいろあったよ

ここまで見た
  • 874
  •  
  • 2014/05/01(木) 18:34:21.61
マイクロソフト以外のツールの出来が悪いと
Microsoft を捨てる理由になり得る のか

ここまで見た
  • 875
  •  
  • 2014/05/01(木) 19:06:00.71
「Microsoft漢字コード」って意味じゃねーの?

ここまで見た
  • 876
  •  
  • 2014/05/01(木) 21:32:54.04
「Microsoft漢字コード」って意味です。
それ以外にも理由は山ほどありましたが。
その後、Pentium マシン買ってとっとと Linux 入れて
Microsoft を捨てました。前世紀のことです。
エンコーディングは当初は euc-jp , 後に utf-8 。

プリインストールされていた windows 98 を有効利用しようと
一応は努力したんですよ。10日間くらい。

ここまで見た
  • 877
  •  
  • 2014/05/02(金) 03:26:51.56
>>873
特に緑の256本にお世話になりました。

ここまで見た
  • 878
  •  
  • 2014/05/02(金) 08:40:36.13
まあバカには難しいからな

ここまで見た
UTF-16 で、+2D 91+A9 52 7D 00+9F 53+ って何ですか?
tp://headlines.yahoo.
co.jp/hl?a=20140427-00000009-asahi-int

ここまで見た
  • 880
  • 880
  • 2014/05/02(金) 13:14:16.23
Internet Explorer を外したら上手くいきました。(._.)

ここまで見た
  • 881
  •  
  • 2014/05/07(水) 23:28:11.14
utf-1のオリジナルの仕様書はどこかに無いですかね?

ここまで見た
  • 882
  •  
  • 2014/05/08(木) 01:59:00.77
>>881
なにそれ? 1bit encode?

ここまで見た
  • 883
  •  
  • 2014/05/08(木) 02:19:16.15
8bitだな

ここまで見た
  • 884
  •  
  • 2014/05/08(木) 22:39:56.65
数字の付け方が途中で変わったからねぇ。

ここまで見た
  • 885
  •  
  • 2014/05/09(金) 22:59:45.07
JIS X 0201の「ヲ」ってなんであんな位置にあるの?
「ワ」と「ン」の間じゃダメだったの?

ここまで見た
  • 886
  •  
  • 2014/05/10(土) 00:58:26.77
不思議だワン

砂時計アラームタイマー
フリックラーニング
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email
おすすめワード