DXFにおけるShift-JISとunicode(UTF-8)について。
さて、スケッチアップや今どきのグローバルなCADは文字コードセットがunecode(UTF-8)となっているようです。
しかしながら純国産なCADはShift-JISしか扱えないものも沢山あります。(入出力どちらも)
unicodeについての解説は複雑すぎて当方には無理ですので、とりあえずDXFデータをShift-JISからUTF-8に変換して読めるようにしてみることだけを実証してみましょう。
下図のデータが元データです。2次元の平面図で、MT-CADでDXF出力し、JWCADで読んだものです。細部に渡って忠実に再現されています。
では、これを極めて単純な方法でスケッチアップでも読込可能なDXFにしてみましょう。
1・元データは、「図面.dxf」です。約6.8MBの容量です。
2・これを「サクラエディタ」で読みます。
無事読み込みできました。
「EOF」(エンド オブ ファイル」コマンドまで、993,584行あります。7MB前後のデータだとこのくらいにはなりますね。
3・次にデータには一切触らずにUTF-8形式で保存します。
ツールバー → ファイル を選択します。
次に、文字コードセットのタグから、「UTF-8」を選択し、保存します。
4・これをスケッチアップで読み込んでみましょう。
問題なく読み込むことが出来ました。レイヤ名も日本語になっています。
5・実は、Windows7に標準装備されている「メモ帳」にも文字コードセットの変換機能は付いています。
どれくらいの行数まで読めるのか不明ですが、やってみましょう。
お、なんかエラーなく読めました。
ちゃんと「EOF」まで読めています。
これを、ファイル → 名前を付けて保存 と選択し、文字コードを「UTF-8」にして保存してみます。
同じくスケッチアップで読んでみましたが、先ほどと同様にうまくいきました。
6・では、このファイルをJWCADで読んでみましょう。
見事に文字化けしています。
同じデータをAUTOCAD LT と TurboCAD でも読んでみましたが、同様に文字化けしました。恐らくデフォルトの文字コードセットがShift-JISになっているのでしょう。
7・まとめ
スケッチアップやグローバルなCADでDXFの読込がうまくいかないときは、この方法を試してみましょう。
メモ帳の行数制限がどこまでなのか不明ですが、サクラエディタならフリーソフトですので費用もかかりません。
さて、この逆はどうなるのか??
はい。やってみました。結果から申しますと成功です。
手順
1.UTF-8で記述されているDXFデータをサクラエディタでUTF-8の文字コードセットでオープンします。
2.中身には一切、手を付けず文字コードセットをshift-jis に変更して上書き保存します。
これでレイヤ名も含めて文字コードはshift-jisになっています。
EOF