アカウント名:
パスワード:
サロゲートペアなんて対応してないソフトだって未だあるんだし、実用上はBMPだけでいいでしょ。そうしたら(英数字も含めて)2バイトですよ。(あえて誤解を招きかねない言い方をすると)Unicode に 3 バイトの文字はありません。日本語が3バイトになるのは、単にUTF-8というエンコード方式によるもので。
カタコトの日本語というと、半角カナになってしまうのかなぁ。あ、半角カナもUTF-8だと3バイトか。
外来語をカタカナで書いたりするので勘違いしやすいですが、今、日本語を勉強している外国人は「ひらがな」から勉強を始めるので、カタカナは非常に弱いです。
片仮名にされると辞書で調べることもできないしね。元の綴りのままにしてくれないんだったら文字が意味を持っているし調べることのできる漢語の方がマシなんだな。
(あえて誤解を招きかねない言い方をすると)Unicode に 3 バイトの文字はありません。
それを「誤解を招きかねない言い方」で済ますのはいかがかと。それを言うのなら、そもそも Unicode 自体はバイト数と関連しません。よって、「Unicodeは実用上2バイト」も間違い。
「誤解を招きかねない言い方」っていうのは、厳密な表現ではないけど許してね、という語彙だから、そこで厳密には違うと指摘しても無意味じゃないかな。
Unicodeとバイト数は関係いない以上、『サロゲートペアや合成文字や異体字などを無視すれば、「Unicodeは実用上2バイト」で1文字を識別する情報を格納できる』と解釈する以外ないのでは?どのように解釈したのかきいてみたい。
元々の理念だった2オクテット固定長で扱いやすいUTF-16が真っ先に思い浮かんだのでは?
いや、それは UTF-16 でなく UCS-2。
テキスト系のプログラミングをやってる人はわかると思うけど、ユニコードをUTF-8やUTF-16でエンコードするのは、環境の問題なので、普通は4バイトの配列にする。つまり、UCS-4が一番ナチュラルだし、unicode.orgでもそうやってインデックスを付けている。
>普通は4バイトの配列にする
普通ってどこの普通だよ。内部エンコーディングでもUTF-16かUTF-8が大半で、32bitで持つシステムが少数派でしょ。Pythonくらいか。
まさに環境依存の話してるじゃないか……。それじゃねーんだよ。
絵文字「」
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
Unicodeは実用上2バイト (スコア:1)
サロゲートペアなんて対応してないソフトだって未だあるんだし、実用上はBMPだけでいいでしょ。
そうしたら(英数字も含めて)2バイトですよ。
(あえて誤解を招きかねない言い方をすると)Unicode に 3 バイトの文字はありません。
日本語が3バイトになるのは、単にUTF-8というエンコード方式によるもので。
Re:Unicodeは実用上2バイト (スコア:1)
カタコトの日本語というと、半角カナになってしまうのかなぁ。
あ、半角カナもUTF-8だと3バイトか。
Re:Unicodeは実用上2バイト (スコア:1)
外来語をカタカナで書いたりするので勘違いしやすいですが、今、日本語を勉強している外国人は「ひらがな」から勉強を始めるので、カタカナは非常に弱いです。
Re: (スコア:0)
片仮名にされると辞書で調べることもできないしね。元の綴りのままにしてくれないんだったら文字が意味を持っているし調べることのできる漢語の方がマシなんだな。
Re: (スコア:0)
それを「誤解を招きかねない言い方」で済ますのはいかがかと。
それを言うのなら、そもそも Unicode 自体はバイト数と関連しません。
よって、「Unicodeは実用上2バイト」も間違い。
Re: (スコア:0)
「誤解を招きかねない言い方」っていうのは、厳密な表現ではないけど許してね、という語彙だから、
そこで厳密には違うと指摘しても無意味じゃないかな。
Re: (スコア:0)
Unicodeとバイト数は関係いない以上、
『サロゲートペアや合成文字や異体字などを無視すれば、「Unicodeは実用上2バイト」で1文字を識別する情報を格納できる』
と解釈する以外ないのでは?
どのように解釈したのかきいてみたい。
Re: (スコア:0)
元々の理念だった2オクテット固定長で扱いやすいUTF-16が真っ先に思い浮かんだのでは?
Re: (スコア:0)
いや、それは UTF-16 でなく UCS-2。
Re: (スコア:0)
Re: (スコア:0)
テキスト系のプログラミングをやってる人はわかると思うけど、ユニコードをUTF-8やUTF-16でエンコードするのは、環境の問題なので、普通は4バイトの配列にする。つまり、UCS-4が一番ナチュラルだし、unicode.orgでもそうやってインデックスを付けている。
Re: (スコア:0)
>普通は4バイトの配列にする
普通ってどこの普通だよ。内部エンコーディングでもUTF-16かUTF-8が大半で、32bitで持つシステムが少数派でしょ。Pythonくらいか。
Re: (スコア:0)
UTF-8 が主流なのは情報交換用。
Re: (スコア:0)
まさに環境依存の話してるじゃないか……。それじゃねーんだよ。
Re: (スコア:0)
絵文字「」