アカウント名:
パスワード:
Locale とエンコーディングは本来は直交した概念だよ。 C ロケールではロケールにエンコーディングわりふってる けどね。仮にすべてで UTF-16 をつかってても Locale 的な考え方は必須。
んで、Javaでは、Locale関連情報を扱うクラスが あって、任意にオブジェクトを生成できます。 それを引数にとることで、日付とか数値の書式とか メッセージ処理とか、文字種判定とか、メッセージ 境界判定とかとか、文字列の比較処理とか、GUIで 扱うフォントとかの挙動を部分的に変更できるわけ。 もちろんC的にデフォルトロケール指定もできますが、 もし、Cのように系全体での変更しかできないと、 アプリケーションの動的な追従ができないのね。 ストリームのエンコード指定はロケールとは別に できます。Cではこの種の処理はロケール非依存の 従来のストリームとiconv 使えばある程度は いけるけど、書いてると死ねるし環境依存が激しい から使いたくならんですな。 C/C++の少なくともエンコード処理周りを java 並に しようと思うなら、IBM がJava と機能的に同等の クラスライブラリを提供してるので、それを使うと いいんじゃないかな。 局所的に高機能でも・・・のくだりなんだけど、現実では 他と整合とる必要なんてないと思うよ。局面に応じて 必要十分な能力が発揮できる言語をつかえばよいだけ のこと。Javaがすべてになればなんて考える こと自体ナンセンス。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
計算機科学者とは、壊れていないものを修理する人々のことである
Re:初心者の敵だ (スコア:2, 参考になる)
Locale とエンコーディングは本来は直交した概念だよ。 C ロケールではロケールにエンコーディングわりふってる けどね。仮にすべてで UTF-16 をつかってても Locale 的な考え方は必須。
んで、Javaでは、Locale関連情報を扱うクラスが あって、任意にオブジェクトを生成できます。 それを引数にとることで、日付とか数値の書式とか メッセージ処理とか、文字種判定とか、メッセージ 境界判定とかとか、文字列の比較処理とか、GUIで 扱うフォントとかの挙動を部分的に変更できるわけ。 もちろんC的にデフォルトロケール指定もできますが、 もし、Cのように系全体での変更しかできないと、 アプリケーションの動的な追従ができないのね。 ストリームのエンコード指定はロケールとは別に できます。Cではこの種の処理はロケール非依存の 従来のストリームとiconv 使えばある程度は いけるけど、書いてると死ねるし環境依存が激しい から使いたくならんですな。 C/C++の少なくともエンコード処理周りを java 並に しようと思うなら、IBM がJava と機能的に同等の クラスライブラリを提供してるので、それを使うと いいんじゃないかな。 局所的に高機能でも・・・のくだりなんだけど、現実では 他と整合とる必要なんてないと思うよ。局面に応じて 必要十分な能力が発揮できる言語をつかえばよいだけ のこと。Javaがすべてになればなんて考える こと自体ナンセンス。