なたでぽぽ

ダメ文字

2011/05/22

先日DeepBurnerでDVDを焼いていたら、EAccessViolationというエラーが出て書き込みが出来ませんでした。たしか以前にも同じ事があったよなあと思いつつ原因を調べてみると「ダメ文字」のせいでした。

ダメ文字とは、"表"、"十"、"能"、"申"などの漢字のことです。これらの文字をシフトJISコードで表現すると2バイト目が0x5c("\")となるため、これらの文字がファイル名に入っていると一部の海外製ソフトは正常に動作してくれません。最近ではUnicodeや多言語に対応するソフトが増えてはいますが、まだまだ日本語が自由に使える状況にはなっていません。

私がパソコンを使い始めたころは、ファイル名やフォルダ名はアルファベットと数字のみで書くのが当たり前でしたが、Windowsの普及と共に常識も変わってきました。今でも英数字のみでファイル名を付けている人は一定数いますが、一度日本語を使ってしまうと、なんだかんだいって便利なのでもう元には戻れません。私も数年前までは英数字派だったのですが、最近では全く気にせずに日本語でファイル名を付けていて、たまに今回のようなトラップにはまっています。早く日本語が自由に使える状況になって欲しいものです。

ダメ文字の問題はファイル名だけではなく、プログラミングをやっているとたまに出くわします。例えばC言語で、

printf( "予定表" ) ;

と書くと、コンパイルエラーになってしまいます。これを解決する方法としては、別の文字コードを使うのが一番いいんでしょうが、なかなかそうできない事もあります。そんなときは、

printf( "予\定表\" ) ;

というようにエスケープ文字を付けてやると上手くいきます。ちょっとしたことですが、覚えておくと地味に便利です。