言語非依存での出力方法
問題
多くの書式化処理で、OS(など)でデフォルトで設定されている言語で文字列が出力されてしまう。
数値出力(特に小数点、次に位取り)
日時出力
大文字化小文字化
人間が見る時にはそれでよいが、内部データ、Machine-to-machine のインターフェースでは、この言語依存の書式化は有害である。
多国語処理を知らない技術者が特に陥りやすいバグとなる。
海外で使った時にしか発覚しないので放置されがち。
C言語
Cロケール(POSIXロケール)を使うのが一般的
setlocale(LC_ALL, "C")
ロケール依存の関数
JavaScript
Date 型の文字列出力では toISOString() を使う。
.NET
CultureInfo.InvariantCulture で言語非依存であることを示す。
関連