Windowsでの¥と\
Windowsの\の挙動
基本的にWindowsではパスの区切りとして¥を使用すると思うのですが、
Macのように (バックスラッシュ)が適応されるケースと遭遇しました。
Windowsでは¥を使うと認識していたので、なぜ\が使えるのかわかりません。
環境の違いなのでしょうが、理由を知りたいです。
基本的にWindowsではパスの区切りとして¥を使用すると思うのですが、
Macのように (バックスラッシュ)が適応されるケースと遭遇しました。
Windowsでは¥を使うと認識していたので、なぜ\が使えるのかわかりません。
環境の違いなのでしょうが、理由を知りたいです。
MS-DOSの時代からWindowsに至るまでパスの区切り文字はバックスラッシュ(ASCIIコード 5C)ですが、日本向けの製品はこのASCIIコード 5C を円記号として表示してきたという、日本の環境の特殊事情があります。ある文字コードがどのような字形で表示されるかはフォントによりますから、日本向け製品においても、使用するフォントによって円記号が表示される場合もあればバックスラッシュの形で表示される場合もあるということです。
@woodman0224
Questioner
回答ありがとうございます!
日本向け製品と海外向け製品の違いが起源なのですね。腑に落ちました!
どちらも、asciiコードは0x5c
で同じ認識です。
見え方の差は、使用するフォントやロケールの差ですかね?
ちなみにですが、英語版(おそらく日本語版以外の)Windowsは普通に\
(バックスラッシュ)です。
また、MacやLinux系OSのパス区切りは/
(スラッシュ)です。
@woodman0224
Questioner
回答ありがとうございます!
言われれば確かに英語版の方のが\でした!
そもそもが逆で,Windowsファイルシステムにおけるディレクトリ区切り文字はバックスラッシュU+5C
が使われており,Windowsにおける標準フォントにおいてバックスラッシュU+5C
は円記号として表示されるようになっています.
理由としては7bitがまかり通っていた当時の環境で円記号を表現するためと思われますがJIS規格において5C
に円記号を割り当てていたことがあり,この兼ね合いで今日に至るまでWindows環境でJISキーボードで円記号を押した場合U+5C
が入力されます.
ついでなので補記しますが,Unicodeにおいて円記号はU+A0
に割り当てられました.Mac環境などで円記号キーを押した場合,U+A0
が入力されるケースがしばしばあります.日本語のプログラミング教本で円記号を使っている場合,暗黙的にバックスラッシュU+5C
を指すものと読み替え,スラッシュの右隣のキーを押すようにしてください.