お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2016-11-13 09:22:30

lobosKobayashi
メンバ
登録日: 2013-01-09

逆スラッシュ 0x5c が 0x00a5 に変えられてしまう問題の対策

10月から ubuntu mate 16.04 を使い始めました。 ThinkPad X201 と Dell inspiron 14 5000 にインストールしています。両マシンとも特に何も対策することなく WiFi/Bluetooth とも繋がり Linux の変わりように驚かされました。Shift-jis テキスト・ファイルさえ特別の設定無しで自動判別してくれ、読み書きできるのですから昔の Linux とは大違いです。オープン・ソース開発者の皆様に感謝しています。今では日常作業の90% 程度は Win7 と Linux の両方で共通に行えるようにできました。

ただ Windows と Linux で共通の shift-jis テキスト・ファイルを扱っているときに \:0x5c が勝手に 0x00a5 コードに変更されてしまうのに困っています。しかも この自動変更が OS に近いところで行われているようです。Terminal でさえ 0x00a5 しか入力できません。逆スラッシュを入力できません。NAS から caja 経由で shift-jis テキスト・ファイルを持ってくる移す段階でファイルの中身の 0x5c コードを勝手に 0x00a5 コードに書き換えてもいるようです。流石に utf-8 テキスト・ファイルのときは 0x5c→0x00a5 変換はされませんが。Shift-jis テキスト・ファイルを NAS に書き戻すときに 0x00a5 コードは 0x5c に戻しているので、linux 開発者はたちは問題ないと思っているのかもしれませんが、マウスが嫌いでコマンドを多用する私にとっては耐えられません。

たぶん何かの設定ファイルを変更するだけで対策できるとは思うのですが、Google 検索して見ても、特に何もひっかかりません。途方にくれております。 0x5c→0x00a5 問題の対策方法を教えてもらすますでしょうか。URL のリンクだけでも助かります。よろしくお願いします。

オフライン

 

#2 2016-11-13 14:32:17

emasaka
メンバ
登録日: 2008-02-14

Re: 逆スラッシュ 0x5c が 0x00a5 に変えられてしまう問題の対策

Shift_JISの0xa5というと半角の中黒(「・」)でしょうか。その現象は私のところでは起こっていません。

オフライン

 

#3 2016-11-13 16:41:33

lobosKobayashi
メンバ
登録日: 2013-01-09

Re: 逆スラッシュ 0x5c が 0x00a5 に変えられてしまう問題の対策

emasaka さん情報ありがとうございます。

> Shift_JISの0xa5というと半角の中黒(「・」)でしょうか。
ユニ・コードでの 0x00a5 です。グリフは 円記号です。

> その現象は私のところでは起こっていません。
私の所では二台とも同じ現象です。どちらも ubuntu mate 16.04 LTS です。OADG キーボードを選択してインストールしました。

できたら emasaka さんの Ubuntu version、キーボード選択を教えてもらますでしょうか。

オフライン

 

#4 2016-11-13 17:32:19

emasaka
メンバ
登録日: 2008-02-14

Re: 逆スラッシュ 0x5c が 0x00a5 に変えられてしまう問題の対策

> ユニ・コードでの 0x00a5 です。

Shift_JISのテキストファイルがユニコードのテキストファイルに自動的に文字コード変換されるという現象でしょうか。私はCaja/Nautilusでその経験はないですね。

> emasaka さんの Ubuntu version、キーボード選択を教えてもらますでしょうか。

Ubuntu 16.04とUbuntu 14.04です。キーボード選択は日本語キーボードです。

オフライン

 

#5 2016-11-17 07:16:06

lobosKobayashi
メンバ
登録日: 2013-01-09

Re: 逆スラッシュ 0x5c が 0x00a5 に変えられてしまう問題の対策

ubuntu mate 16.04 LTS での 0x5c 入力問題は以下の原因と対策で自己解決しました。

○原因
1 キートップに描かれているグリフに対応させている。ただし ascii code の範囲を超えて。
2 vim で fileencode==shift-jis or cp932 テキストを扱うとき、0x5c は 0x00a5 ユニコード・グリフを使って表示される。ファイル自体の文字コードは変えない。
↑ ただし :set fenc=utf-8 を使って shift-jis から utf-8 に変更したとき、0x00a5 グリフで表示されていた位置の文字コードは 0xc2a5 二バイト utf-8 文字コードに変換されてしまう。

○対策
1 terminal, vim とも OADG キーボードで 0x5c を入力したいときは右上の 円マーク記号が描かれているキーではなく、右下の back-slash が書かれているキーを使う。

2 vim では :set fenc=utf-8 を使った文字コード変換を行わない。

○残っている疑問点
Linux で OADG キーボードを使って、右上の円マーク記号を押したとき、 0x5c ではなく 0x00a5 や 0xc2a5 が入力されてしまうのが普通なの? それとも ubuntu mate 16.04.LTS 固有の問題なの?

オフライン

 

#6 2016-11-17 07:26:10

lobosKobayashi
メンバ
登録日: 2013-01-09

Re: 逆スラッシュ 0x5c が 0x00a5 に変えられてしまう問題の対策

1 キートップに描かれているグリフに対応させている。ただし ascii code の範囲を超えて。

1 ubuntu mate 16.04.LTS では、キーボード入力するとき、キートップに描かれているグリフに対応させている。ただし ascii code の範囲を超えて。

オフライン

 

Board footer

Powered by FluxBB