アカウント名:
パスワード:
これに対しMS-DOS系では、各国ごとに異なる文字コードを0x00-0x7Fに規定してしまった、というのがそもそものミスです。しかも、そういう環境下においては、たとえばCやC++のプログラムを書く際にも、trigraph sequenceを使わなきゃいけないはずですが、そもそもC#にはtrigraphがない。そういう点で、Microsoftは文字コードの国際規格を全く無視してて、私はすごくキライなんです。
ただ、確かにMicrosoftだけが悪いんじゃなくて、Unicodeの方もどうかしてた、ってのは言えます。だって、JIS X 0201の0x5Cの「¥」と、GB 1988の0x24の「¥」と、ISO 8859-1の0xA5の「¥」とに、同じU+00A5を対応させちゃったんですから。Unicodeの常識から言えば、これらはそれぞれYEN SIGNとYUAN SIGNとYEN-YUAN SIGN(かしら?)という異なる文字であって、それぞれ別のコードが割り当てられて当然なんですよ。少なくとも、JIS X 0201の0x5Cと、ISO 8859-1の0xA5とで、異なるUnicodeが対応してたら、まだやりようがあったんじゃないかと思えるのです。
>#これって、隣国でも同じように話題になっているのでしょうか。
現在の中国では、GB 18030こそが唯一の文字コードで、Unicodeすらオマケに過ぎませんから。GB 18030の0x24は「¥」ですけど、0x5Cは「\」なので、そう問題にはなってないのかな?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
0x5cがエスケープ記号である限りは問題が起こっていたのではないでしょうか (スコア:1)
もちろん0x5cをバックスラッシュにして円記号にしなければ回避できたとは思いますが、日本国内事情を考えるとそれは不可能だったのではないでしょうか。
(円記号は必要でしたでしょうし、他に円記号が割り当てられている場所はありませんでしたから……たぶん)
最近はWindowsを使っていても0x5cはバックスラッシュとして表示されることも多いですから、そのうち気がつけば0x5cはバックスラッシュ、ということで落ち着くのかもしれません。
Re:0x5cがエスケープ記号である限りは問題が起こっていたのではないでしょうか (スコア:2, すばらしい洞察)
これに対しMS-DOS系では、各国ごとに異なる文字コードを0x00-0x7Fに規定してしまった、というのがそもそものミスです。しかも、そういう環境下においては、たとえばCやC++のプログラムを書く際にも、trigraph sequenceを使わなきゃいけないはずですが、そもそもC#にはtrigraphがない。そういう点で、Microsoftは文字コードの国際規格を全く無視してて、私はすごくキライなんです。
ただ、確かにMicrosoftだけが悪いんじゃなくて、Unicodeの方もどうかしてた、ってのは言えます。だって、JIS X 0201の0x5Cの「¥」と、GB 1988の0x24の「¥」と、ISO 8859-1の0xA5の「¥」とに、同じU+00A5を対応させちゃったんですから。Unicodeの常識から言えば、これらはそれぞれYEN SIGNとYUAN SIGNとYEN-YUAN SIGN(かしら?)という異なる文字であって、それぞれ別のコードが割り当てられて当然なんですよ。少なくとも、JIS X 0201の0x5Cと、ISO 8859-1の0xA5とで、異なるUnicodeが対応してたら、まだやりようがあったんじゃないかと思えるのです。
Re:0x5cがエスケープ記号である限りは問題が起こっていたのではないでしょうか (スコア:1)
UnicodeのU+0000~U+007FおよびU+0080~U+00FF領域に「全世界で共通する文字を示すべき」を割り当てるのは、もともと無理な話だったのでは……(もちろん規格上の話ではなく、各国のお国事情を反映させた場合)。
同一性を保てる見込みのないアドレスは使われないようにするのが最善かと思うものの、現実にはU+005CもU+00A5も多用されてしまっているので、せめて通貨記号の意図で使っている部分を分離する&U+005CとU+00A5を通貨記号用途から外すという感じの対策は必要かな、と考えてみたり。
たとえば、
「UnicodeのU+0000~U+007F領域のうち、国によって表示文字が異なる部分は、全て特定の国にとって有利とならない符号で固定する……たとえば、CS1(U+005C)はコインを表す抽象図案に変更・CS2(U+00A5)はバックスラッシュ(\)に固定。」
「UnicodeのU+0080~U+00FF領域は使用禁止とする」
などという方針が出ることはあるのでしょうか……って、そんなことをしたらUnicodeの対応性が(U+005Cについて)さらに崩れてしまうだけですねorz
#これって、隣国でも同じように話題になっているのでしょうか。
初期のUnicode Draft (スコア:1)
>#これって、隣国でも同じように話題になっているのでしょうか。
現在の中国では、GB 18030こそが唯一の文字コードで、Unicodeすらオマケに過ぎませんから。GB 18030の0x24は「¥」ですけど、0x5Cは「\」なので、そう問題にはなってないのかな?
UNIX系OSで起こっていた(気がする)問題 (スコア:1)
(元ネタを思い出したら追記します)
#今回のネタとは直接関係なかったり、
#勘違いかもしれませんが、いちおう。
Re:0x5cがエスケープ記号である限りは問題が起こっていたのではないでしょうか (スコア:0)