アカウント名:
パスワード:
「秀丸ですらutf8だよ」とまだSJIS至上主義の人を改心させて欲しい文字コードが混在する時代を早く脱せたらいいな
本当ですねでもwindows本体はutf16標準とかになりそうで嫌ですね
Windows内部(主にメモリ)での内部表現はutf16相当だけど、テキストファイルのエンコードはかなり前からuft8が標準だよ。httpなど外部とのやり取りは基本的にutf8としているわけで、システム内部のエンコーディングを気にする理由がいまいちわかりません。
パフォーマンスとしてはちょっと問題。dotnetは昔から内部がUTF-16だけど、最近変換コストが無視できなくなって来ている。だからできるだけUTF-8を使うようにしたいのだが…破壊的変更はしたくないしで困ってる。
文字列操作関係の仕様変更や実装やり直しの多さを考えると破壊的変更と呼ぶのも生ぬるいレベルになりそうだから、内部実装のuft8化はやめといた方がいいと思う。String.Lengthの意味が全く変わることだけ考えてもひどいことになる。
UTF-8は、よく使うのだけでも、1-4バイトの可変長。例外対応するなら1-6バイトの可変長まで想定する必要がある。1-6バイトの可変長になるU+10FFFFより先のコード拡張なんてやめてくれというのが切実な願いだろう。
UTF-16は、使用頻度が高いのが2バイトで、サロゲートペアがあると4バイトになる。処理は、UTF-16の方が楽だわな。
使用頻度と処理の簡単さには何の関係もないと思いますが。OSとしては、使用頻度が低いから対応しなくてもいいとはならないから、UTF-16だろうがUTF-8だろうが、実装しないといけない処理に大差はないでしょう。
あと、サロゲートペアにしか言及していませんが、合字とか結合文字列とかあるのでUTF-16の1文字は最大4バイトというのも間違い。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
windowsの脱SJISが進んで欲しい (スコア:0)
「秀丸ですらutf8だよ」とまだSJIS至上主義の人を改心させて欲しい
文字コードが混在する時代を早く脱せたらいいな
Re: (スコア:0)
本当ですね
でもwindows本体はutf16標準とかになりそうで嫌ですね
Re: (スコア:0)
Windows内部(主にメモリ)での内部表現はutf16相当だけど、テキストファイルのエンコードはかなり前からuft8が標準だよ。
httpなど外部とのやり取りは基本的にutf8としているわけで、システム内部のエンコーディングを気にする理由がいまいちわかりません。
Re: (スコア:0)
パフォーマンスとしてはちょっと問題。
dotnetは昔から内部がUTF-16だけど、最近変換コストが無視できなくなって来ている。
だからできるだけUTF-8を使うようにしたいのだが…破壊的変更はしたくないしで困ってる。
Re: (スコア:1)
文字列操作関係の仕様変更や実装やり直しの多さを考えると破壊的変更と呼ぶのも生ぬるいレベルになりそうだから、内部実装のuft8化はやめといた方がいいと思う。
String.Lengthの意味が全く変わることだけ考えてもひどいことになる。
Re: (スコア:0)
UTF-8は、よく使うのだけでも、1-4バイトの可変長。例外対応するなら1-6バイトの可変長まで想定する必要がある。
1-6バイトの可変長になるU+10FFFFより先のコード拡張なんてやめてくれというのが切実な願いだろう。
UTF-16は、使用頻度が高いのが2バイトで、サロゲートペアがあると4バイトになる。
処理は、UTF-16の方が楽だわな。
Re:windowsの脱SJISが進んで欲しい (スコア:0)
使用頻度と処理の簡単さには何の関係もないと思いますが。
OSとしては、使用頻度が低いから対応しなくてもいいとはならないから、
UTF-16だろうがUTF-8だろうが、実装しないといけない処理に大差はないでしょう。
あと、サロゲートペアにしか言及していませんが、合字とか結合文字列とかあるので
UTF-16の1文字は最大4バイトというのも間違い。