« ビットマップメモリ確保失敗追加対策等 | メイン | wchar_t サイズ問題 »

2016年08月29日

吉里吉里Z 開発:: 吉里吉里Zで扱われる各種文字コード

    

TJS2 内部文字コード

UTF-16LE

テキスト(スクリプト)読み込みの文字コード

UTF-16LE、UTF-8(BOM)、UTF-8 or ShiftJIS(CP932) に対応している。
BOM が付いている UTF-16LE と UTF-8 の場合、BOM によって文字コードを判別し、認識した文字コードで読み込みが行われる。
それ以外の場合は、デフォルトでは UTF-8 となる。
コマンドラインオプションの -readencoding で文字コードを指定した場合、その文字コードで読み込まれる。
Scripts.textEncoding で文字コードを指定した場合、その文字コードで読み込まれる。

テキスト書き出しの文字コード

UTF-16LE

バイトコード・バイナリ Dic/Arrya の文字コード

UTF-16LE

コンソールログ出力の文字コード

UTF-16LE
コマンドプロンプトでない場合は、ShiftJIS(CP932) になっている。
UTF-8 出力指定オプション追加の要望がある。

コマンドライン読み込みの文字コード

UTF-16LE

ソースコードの文字コード

現在のビルドされているものは ShiftJIS(CP932) だが、次のバージョンから UTF-8 になる。
dev_multi_platform ブランチでは既に UTF-8 に切り替え済み。
ShiftJIS だったのはずっと日本語 Windows で開発されていたからだが、マルチプラットフォーム化に伴いダメ文字などによる問題を回避することと、Visual Studio 2015 Update 2 で BOM なし UTF-8 がサポートされ準備が整ったことで UTF-8 へ移行。

プラグインスタブの文字コード

現在は ShiftJIS(CP932) 。
今後どうするか要検討。

実行ファイル内文字コード

ShiftJIS(CP932) or UTF-16LE
ほとんどワイド文字列として定義されているので UTF-16LE 。
マルチプラットフォーム化に伴い ShiftJIS(CP932) は UTF-8 にしてしまった方が良いと考えられるので変更予定。
UTF-16LE に関してはエントリーにて詳細を書く予定。


投稿者 Takenori : 2016年08月29日 21:51




comments powered by Disqus
Total : Today : Yesterday : なかのひと