[過去ログ]
文字コード総合スレ Part11 (1002レス)
文字コード総合スレ Part11 http://mevius.5ch.net/test/read.cgi/tech/1516629503/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
667: デフォルトの名無しさん [sage] 2018/08/14(火) 13:43:48.36 ID:RlMqh1JW UTF-32に統一できないなら、UTF-8を残そうがUTF-16を残そうが どちらも大して変わんないんだよね。 UTF-8 も UTF-16 も既存OSの互換性を保つためにあるのだから UTF-8はANSI互換性というメリットがあるというけれど なんてことはない、Unix/Linuxの改修が大変だったから、 文字コードのエンコーディング方式自体を作ったってだけの話 互換性のために作ったものだよ 16bitにすべての文字を収めるのは不可能だが、仮に収まったとしたら UTF-16はサロゲートペアなどなく1文字16bitというシンプルなものになっていた。 もし最初から32bit必要だと認識していれば、UTF-32という1文字32bitに 統一された素晴らしい文字コードになっていただろう そしてWindowsはそれを標準文字コードとして採用しただろう。 (WindowsがUTF-16なのは、その頃はUnicode = UTF-16の前身のUCS-2 だったから) 結局固定長でないなら、どちらも面倒なことに大差ないし 互換性を保つために面倒な方式を残すのであれば、 それがUTF-8でもUTF-16でも同じこと http://mevius.5ch.net/test/read.cgi/tech/1516629503/667
670: デフォルトの名無しさん [sage] 2018/08/14(火) 15:32:16.19 ID:RlMqh1JW >>669 Windowsという重要な役目があるので無理だってわかってるだろ? http://mevius.5ch.net/test/read.cgi/tech/1516629503/670
673: デフォルトの名無しさん [sage] 2018/08/14(火) 16:47:25.95 ID:RlMqh1JW >>671 > asciiとの互換性とosの改修は関係ない 大あり。C言語はASCII互換前提となっている。 具体的に言うと、文字列の終端文字が\0なので UTF-16やUTF-32といった、1文字の中に\0が 含まれてる場合に対応できない UTF-8でなければprintfなどの基本的でよく使われる関数 全てをUnicode対応に改修しなければならなかった。 もしくは捨て去さるかだ http://mevius.5ch.net/test/read.cgi/tech/1516629503/673
674: デフォルトの名無しさん [sage] 2018/08/14(火) 16:48:00.48 ID:RlMqh1JW >>672 昔からUnicode対応なんですがーw http://mevius.5ch.net/test/read.cgi/tech/1516629503/674
678: デフォルトの名無しさん [sage] 2018/08/14(火) 17:18:41.77 ID:RlMqh1JW http://ash.jp/code/unitbl1.htm 41 41 41 41 0041 A 42 42 42 42 0042 B 43 43 43 43 0043 C 44 44 44 44 0044 D 45 45 45 45 0045 E 右から二番目がUTF16の文字コード 見ての通り基本のアルファベットの中に0x00が含まれてる つまり ABCは、00 41 00 42 00 43 もしくは 41 00 42 00 43 00 という並びとなり これをprintf等にわたすとASCII文字として1文字8bitと解釈し、 00を\0とみなすので途中で切れるか全く表示されなくなる http://mevius.5ch.net/test/read.cgi/tech/1516629503/678
679: デフォルトの名無しさん [sage] 2018/08/14(火) 17:21:01.63 ID:RlMqh1JW 説明足らずな>>675が揚げ足取りだと思われると可愛そうなので(笑) 補足してあげると、UTF-16やUTF-32の1文字はそれぞれ16bit or 32bit で 16bitで\0、32bitで\0 は含まれてないと言いたいのだ だが今は、printfなど1文字8bitと解釈する関数の話をしているので 8bitずつ見ていくと文字の途中に\0が含まれるのだ http://mevius.5ch.net/test/read.cgi/tech/1516629503/679
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.053s