16位字符我怎樣才能創建一個變量字符,可容納四個字節的值?我無法使用Java創建
我試圖寫一個程序來加密在java中的消息,爲了好玩。我想出瞭如何使用RSA,並設法編寫一個程序來加密消息並將其保存爲.txt文件。 例如,如果輸入「安靜」,結果將是「041891090280」。我寫了我的代碼,以便數字的長度總是6的倍數。所以我認爲我可以將數字轉換爲哈希碼。前三個字母是「041」,所以我可以將其轉換爲「)」。
但是我無法創建一個字符與一些比255我在網上看了看周圍,發現了幾個例子更大,但我無法弄清楚如何實現它們。我創建了一個新方法來測試它們。
int a = 256;
char b = (char) a;
char c = 0xD836;
char[] cc = Character.toChars(0x1D50A);
System.out.println(b);
System.out.println(c);
System.out.println(cc);
程序輸出
?
?
?
我只得到兩個字節。我讀到Java使用的Unicode應該高達65535,這是四個字節。如果這有所作爲,我正在使用eclipse。
我的小白問題道歉。 並提前致謝。
編輯 對不起,我想我提供了太多的信息,並最終陷入困惑。 我想要做的是將一串數字存儲爲一個unicode字符的字符串。我知道如何做到這一點的唯一方法是將數字串分成足夠小以適合角色。然後將字符逐個添加到新字符串中。但我不知道如何將一個可變的unicode字符添加到字符串中。
Java中的字符不會編碼任何字符,只能編碼基本多語言平面的字符。 –
見http://stackoverflow.com/questions/13112435/how-does-java-store-utf-16-characters-in-its-16-bit-char-type –
對不起,我意識到,我說32位的瓦時我應該說16bit。 – user2452405