人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

●質問者: mikakane
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Silvanus
ベストアンサー

歴史的な経緯については、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においては、例えば正規表現等といった
「本来バックスラッシュで記述すべきもの」については
素直にバックスラッシュを用いることになるかと思います。


mikakaneさんのコメント
ありがとうございます。 Win時代には円記号=バックスラッシュで把握していたため、 「何が本来バックスラッシュで何が円記号か」の部分が曖昧になっています。 もう一度勉強し直す必要がありそうですね。

2 ● パパトモ

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で使われているアプリがほとんど日本製の日本向けということもあるかもしれません。

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

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


mikakaneさんのコメント
ありがとうございます。 文字コード体系が別なんですね。 WinはいつになったらUnicode標準になるんでしょうか… SJISなんて絶滅すればいいのに…
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ