Macでのバックスラッシュと円記号の違いについて


WinからMacに切り替えてから数ヶ月立つのですが
表題の件について,未だに理解できていません。
Winの頃は,バックスラッシュ=円記号と理解していました。
確か文字コードのローカライズの際に円記号をねじ込むため,
あまり使わなさそうなバックスラッシュに上書きしたと聞いた記憶があります。

ただMacではどうもバックスラッシュと円記号は別物のようです。
これはどのように使い分ければいいのでしょうか?
今日も正規表現のエスケープで円記号を使って一日作業を台無しにしました…

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/09/07 19:30:37

ベストアンサー

id:Silvanus No.1

回答回数180ベストアンサー獲得回数71

歴史的な経緯については、Wikipediaが詳しいので
こちらをご参照いただくとしまして、
http://ja.wikipedia.org/wiki/%E5%86%86%E8%A8%98%E5%8F%B7

日本語版Windowsでは、本来バックスラッシュであるところ
コード0x5Cに円記号が割り当てられているのに対し
MacOSではコード0xA5に円記号が割り当てられていますので
ご質問者が指摘されている通り、MacOSでは両者は明確に異なるものです。
かつて、バージョン7までのMacromedia(現Adobe) FLASH for MacOSでは
円記号とバックスラッシュ双方をエスケープ文字として使えるようにする等
互換性に配慮して作成されたアプリがあった様ですが
原則として、MacOSにおいては、例えば正規表現等といった
「本来バックスラッシュで記述すべきもの」については
素直にバックスラッシュを用いることになるかと思います。

id:mikakane

ありがとうございます。

Win時代には円記号=バックスラッシュで把握していたため、
「何が本来バックスラッシュで何が円記号か」の部分が曖昧になっています。

もう一度勉強し直す必要がありそうですね。

2012/09/07 19:32:27

その他の回答1件)

id:Silvanus No.1

回答回数180ベストアンサー獲得回数71ここでベストアンサー

歴史的な経緯については、Wikipediaが詳しいので
こちらをご参照いただくとしまして、
http://ja.wikipedia.org/wiki/%E5%86%86%E8%A8%98%E5%8F%B7

日本語版Windowsでは、本来バックスラッシュであるところ
コード0x5Cに円記号が割り当てられているのに対し
MacOSではコード0xA5に円記号が割り当てられていますので
ご質問者が指摘されている通り、MacOSでは両者は明確に異なるものです。
かつて、バージョン7までのMacromedia(現Adobe) FLASH for MacOSでは
円記号とバックスラッシュ双方をエスケープ文字として使えるようにする等
互換性に配慮して作成されたアプリがあった様ですが
原則として、MacOSにおいては、例えば正規表現等といった
「本来バックスラッシュで記述すべきもの」については
素直にバックスラッシュを用いることになるかと思います。

id:mikakane

ありがとうございます。

Win時代には円記号=バックスラッシュで把握していたため、
「何が本来バックスラッシュで何が円記号か」の部分が曖昧になっています。

もう一度勉強し直す必要がありそうですね。

2012/09/07 19:32:27
id:papa-tomo No.2

回答回数362ベストアンサー獲得回数107

Mac OS X の場合、基本となる文字セット(文字コード体系)がUnicodeであるのに対して、WindowsがShift JIS(正確にはWindows-31J)を基本としています。

Unicodeは、世界各国の文字だけでなく言語的なルールも含めた文字セットで、この文字セットの場合¥と\は明確に区別されます。

一方、Shift JISは日本独自の文字セットで、国際的に使われている文字セットであるASCIIの\(0x5C)に文字コードに¥を割り当てています。

Mac OS Xの場合、アプリケーションによってはWindowsの互換性を重視するために、基本がShift JISで構成されているものもあります。またヨーロッパで作成されたアプリケーションの一部では、基本の文字セットがISO-8859-1であるなどの為に、アプリケーションによっては同じ0x5Cのコードの文字が、¥と表示されたり\と表示されたりすることがあります。

Macでは様々な文字セットをアプリケーションの上で展開できる仕組みがあるので、使っているアプリケーション、あるいはファイルの文字セットによって、¥と\の扱いが変わります。実はこうした仕組みはWindowsにもあるのですが、何故かWindowsではあまりトピックとして取り上げられない、あるいは避けられているように思います。この背景には、日本のWindowsで使われているアプリがほとんど日本製の日本向けということもあるかもしれません。

結局のところ、自分が今、どの文字セットを使っているのかをしっかりと認識していれば、¥と\の使い分けが出来ると思います。基本的に\と記述できるアプリなら、本来\で記述するべきところは\で書くべきでしょう。

--
注;¥と\は説明上、文字化けを防ぐ都合で全角文字を使っていますが、半角文字とお考えください。

id:mikakane

ありがとうございます。

文字コード体系が別なんですね。
WinはいつになったらUnicode標準になるんでしょうか…
SJISなんて絶滅すればいいのに…

2012/09/07 19:33:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません