« ビットマップメモリ確保失敗追加対策等 | メイン | wchar_t サイズ問題 »
2016年08月29日
吉里吉里Z 開発:: 吉里吉里Zで扱われる各種文字コード
Tweet @jin1016をフォロー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