« ××××センターあらし? | メイン | なぜ重慶で日本人がブーイングを受けるのか? »

半角「¥」をUNICODEで書くとどうなるか?

 鈴木輝一郎さんのサイトの7月26日付けの日記で、半角の「¥」を記入すると「\」(「バックスラッシュ」という名前の記号です)に化けるという話題が出ていました。

 これはUnicodeという多国語を扱える文字コードを使ったときに発生しますが、WindowsやMacでも、OSを英語版に変えれば、同じことが起きます。「¥」記号は、日本の通貨単位「円」の記号ですが、この文字が含まれているのは、日本語OSとUnicodeだけで、他の言語のOSでは表示されません。

 英語OSの場合、日本語キーボードを使って(日本語キーボードにしか「¥」キーはない)「¥」を押すと、「\」が表示されます(いずれも半角)。これは日本語OSでは「¥」のコード番号に、英語コードでは「\」が割り当てられているからです(もともと「\」だったコード番号に、日本語化するとき「¥」を割り当てた)。

 DOSやWindowsでは、フォルダやディレクトリの区切りに「C:\windows¥system¥abc.txt」といった具合に「¥」を使うことになっていますが、これも、もともとは「\」だった区切り記号が、日本語OSの上で「¥」に化けたものです。

 多国籍言語を扱うことを目的としたUnicodeでは、半角でも「¥」と「\」が同居できるようになりました(実際には。そのために「\」のコード番号には英語OSと同じ「0x005c」が割り当てられ、「¥」の半角文字には新たに「0x00A5」が割り当てられました。

 そのためUnicode(UTF-8、UTF-16など)では、日本語キーボードから半角の「¥」を打つと、「\」が表示されてしまうことになります。「¥」を表示させる場合は、コード番号を直接入力するか、キーボードの配列をオプションで確認してみてください。こちらはMax OS Xについての知識がないので、詳細はわかりません。

■半角の「¥」と「\」のテスト

 わざわざ、このblogで文字コードの話題を扱ったのは、「UTF-8」というUnicodeの文字コードセットで表示されているからです(ホームページは「Shift-JIS」を使用)。

 ここで半角の「¥」と「\」を記入すると、以下のようになります。

●半角「¥」(000A5)

\\\\\\\\\\\\\\\\\\ \(^_^)\

●半角「\」(0005C)

\\\\\\\\\\\\\\\\\\\\\ \(^_^)\

「¥」も「Shift-JIS」に登録されているものとは、微妙にフォントが異なっています。「~」などでも似たような問題が起きることがありますね。

 パソコンのキーボードで「¥」と「\」を入力する方法を確認し、この「コメント」を使って両方を入力すると、「UTF-8(Unicode)」では、どのように表示されるかが、確認できるはずですので、よろしかったらお試しあれ。


トラックバック

このエントリーのトラックバックURL:
http://www.m-sugaya.jp/blog/mt-tb.cgi/62

この一覧は、次のエントリーを参照しています: 半角「¥」をUNICODEで書くとどうなるか?:

» 推理作家協会パーティー★本日発売「ひとつになりたいよ」テディ... from 作家・内藤みかの全部1円!?お安いのがお好き☆
日本推理作家協会のパーティーに行ってきました。もちろん可愛い「ひとつになりたいよ」を持って……。いちおうこの本、本日発売なのですが、まだ楽天ブックスもママゾンさんも出て... [詳しくはこちら]



コメント

HTML4.0に対応するブラウザ、まあほとんどのブラウザですが、このHTML4.0では文字実体参照というのがあって、ISO 8859-1やギリシャ文字、数学記号、その他特別な文字などについては、キーワードや番号で指定できるようになっています。ブラウザが文字コードを変な解釈しても、文字の実体を指定していれば、きちんと希望の文字が表示されます。

で、「¥」は「165」なので、「¥」と記述すると、その部分が「¥」と表示されます。元がShift-JISでもUTF-8でも、この文字実体参照で指定した文字は同じ文字として表示されます。キーワードだと「yen」ですので、「¥」と指定すれば「¥」と表示されます。こっちのほうが覚えやすいかな。Mac OSでも、HTML4.0に対応しているはずなんで、当然ながらできるはずです。


>武井さん

 プロ中のプロにコメントいただいて、申しわけありません。

 HTML4.0のことは、すっかり失念していましたが、元の話題の内容は、たぶんメールを送るときのテキストファイルの問題だと思います。

 Mac OS Xは、Unicodeが標準でサポートされているみたいですが(当然、フォントも)、その関係で、Mac OS Xと、それ以前のMac OSでは、文字の表示が異なったりするのではなかろうか……と思ったりしていますが、どうなんでしょう。


こんにちは! さきほどはご一緒に電車に乗ってくださってありがとうございました。
大変楽しかったです。
これからも息子と一緒に「あらし」を読み続けます(≧∇≦)☆


>内藤さん

 先ほどは失礼しました。

 そちらのblogにコメントしたのですが、なんだか表示されていないみたいな……。管理人の承認が必要なのでしょうか?

『ゲームセンターあらし』も、よろしくお願いします(^_^;)。


申し訳ございません、楽天BLOGは楽天BLOGしている人でないと書き込めないようになっているのです。

ココログでしたらOKなので、気が向いた時にでも遊びにいらしてくださいね。


私は楽天、ココログ、ライブドアと3つもBLOG持ってる子沢山です(笑)

http://plaza.rakuten.co.jp/micanaitoh/
http://micanaitoh.cocolog-nifty.com/
http://blog.livedoor.jp/micanaitoh/


すがやさん、ご無沙汰してます。
わたしもMacのバックスラッシュでは困ったことがあるので調べてみました。
Macの場合、独自拡張部分で円=0xb4(欧米形式)、バックスラッシュ=0x80(日本語形式)をあてはめていたそうです。
調べた内容が正確には理解できていないので、検索結果をじかにご覧いただいた方がいいかもしれません。このへんとか?
http://juan.cocolog-nifty.com/juanlog/2001/10/interface_build.html
TextEditはOSX標準のエディタです。
鈴木さんにメールをお出しになったかたが、Windows95あたりを使っておいでだった場合、フォントをMSゴシックないしMS明朝にしていると0x5cが円で表示されるそうです。関係ありますでしょうか? その場合、パッチをあてることで解決できるようですが。
http://www.kt.rim.or.jp/~ksk/yen2bs/indexj.html


>うさぎ屋さん

 お気づかい、申しわけありません。

 元の質問は、たぶん、Windowsを使っている方が、Macを使っている鈴木輝一郎さんにメールを出したら、「¥(半角)」を使って作った署名部分が「\(半角)」に文字化けしてしまった……ということのようです。

 表示はともかく、教えてくださったサイトの解説にもあったように、「¥」「\」は「デリミタ(区切り文字)」の意味も持ちます。見た目が「¥」や「\」でも、コード番号が異なっていたら、CGIのプログラムなどでは問題が起きてしまいます。そういう意味では、機種ごとに独自の拡張コードを設定することなどは、ちょっと問題ではありますね。

 Windows 95の方の問題は、たぶん、無視してかまわないと思います。日本語Windows 95で「\」が必要になるシーンは、ほとんどありませんので。

 Windows XPですと、多国語対応が、ずっと簡単になっていて、海外のネットにつなぐことが多い身にとっては、とても重宝しています。


はじめまして。
このネタを振った張本人のみほこ。と申します。
なんだか、本人の予想以上に話が盛り上がっている気がするので、
ちょっとこっ恥ずかしいんですけども・・・

えと、元の話は、Win98seを使っている私が、PostPet2.0でメールを出したら、Macをお使いになられている鈴木さんのところでは、「¥」が「\」になった、という話です。

ものすごく勉強になりました。
すがやさん、武井さん、うさぎ屋さん、本当にありがとうございました。

ちなみに「ゲームセンターあらし」は私が小学生の頃流行ってました。
うーん、多分26歳ぐらいまではセーフゾーンでしょう、きっと。

私ですか?18歳でっす。(ただし××年前の)


>みほこさん、ようこそ!

 当事者の方に説明していただいたおかげで、事情がかなりクリアになりました。というよりも、単純な問題だったことがわかったというか……。

 Windows 98のPost Petで書いた「¥(半角)」が、鈴木さんのMacでは「\(半角)」になって見えたということは、鈴木輝一郎さんのMacが、Unicodeのコード体系を持つフォントを採用しているからだと思われます。

 そうそう。UTF-8というのは、インターネットのサイトなどを見るとき、「Unicode」の文字コードをやりとりするための「エンコード(文字置き換え)」の方式です。

 インターネットの場合、どのような文字でも画像でも、そして音声でも、7ビットか8ビットの文字列に変換されてやりとりされています。ホームページでも、「うちはEUCの7ビットだよ」とか「Shift-JISの8ビットだよ」なんて宣言をするのが普通になっています。で、このBlogは「UTF-8だよん」と宣言しております。

 昔のパソコン通信なんて時代には、漢字さえも表示できず、日本のネットでは、半角カタカナでメールを書いたり、掲示板の書き込みをしていました。文章が、みんな、昔の電報みたいでした。そんな時代からパソコンで通信しています。はっと気づいたら、来年でもう20年。歳をとるわけだ(笑)。



コメントを投稿

-->

(お名前とメールアドレスは必ず入れてください)