文字コード総合スレ part8 [sc](★0)
-
- 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
-
エンディアン嘘つかない
-
- 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
-
まあバカには難しいからな
-
- 879
- ニュース記事より
- 2014/05/02(金) 12:43:16.91
-
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の「ヲ」ってなんであんな位置にあるの?
「ワ」と「ン」の間じゃダメだったの?
このページを共有する
おすすめワード