で「\ u0000の」、それはヌル文字を意味小さな広場を印刷します。
しかし、CLIで実行すると 'a'が表示されます。
それから、私は他のコンピュータでそれを実行し、あるものは「a」を、あるものはスペースをプリントします。印刷するJava
なぜこれが起こりますか?
私のOSはWindows 7 professional 32bitです。他のシステムはWindows XPです。
私のjavaバージョンはjdk_1.6.0update12です。
で「\ u0000の」、それはヌル文字を意味小さな広場を印刷します。
しかし、CLIで実行すると 'a'が表示されます。
それから、私は他のコンピュータでそれを実行し、あるものは「a」を、あるものはスペースをプリントします。印刷するJava
なぜこれが起こりますか?
私のOSはWindows 7 professional 32bitです。他のシステムはWindows XPです。
私のjavaバージョンはjdk_1.6.0update12です。
それは私のために印刷されません。
public class Mkt {
public static void main(String[] args) {
char c= '\u0000';
System.out.println("-" + c + "-");
}
}
$ javac Mkt.java && java Mkt
--
Ubuntuの11.10ここに:/トライをチェックする
$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
もの:
(a)コンソールウィンドウはターミナルウィンドウではありません。 (b)zsnesなどのものを除いて、コンソールエミュレータはありません。あなたは»端末エミュレータ«という用語を探しているかもしれませんし、Windowsでも間違っているかもしれません。コンソールは隠しコンソールウィンドウをポーリングして、画面バッファ。ほとんど魔法ではなく、ほとんど何もエミュレートしない。 (c)ファイルへのリダイレクトは、Windowsコンソールの同じ特異性を継承します。 – Joey
私はhavaチェック、私はフォントを変更すると、それはスペースを示しています。ファイルにリダイレクトされて、それは少しsquare.Soを示す理由は、Windowsコンソールがユニコードを正しく処理しない理由だと思う – user1298336
コマンドプロンプトの文字エンコーディングとは何ですか? –
Windowsコンソールはユニコードを正しく処理しません。それをファイルにリダイレクトすると、正しい出力が表示されます。 –
ラスターフォントではなく正気なフォントを使用している場合、Windowsコンソールには複雑なスクリプトを使用せずにUnicodeが正しく表示されるはずです。ユニコードをサポートしていればUnicodeをサポートしており、ラスターフォントの場合はOEMコードページへの表示変換があります。 – Joey