我難住這個,我需要一些新鮮的眼睛,我不知道爲什麼這段代碼是這樣做的。字符串到字符數組Java
String string = new String(new char[] {(char) 0x01, (char) 0x02, ... ,(char) 0xFC});
輸出是一切應該是,直到最後數(0xFC有)返回-4, 我知道它的十六進制值,但如果我做同樣的252的十進制值,它也給我一個消極的。我希望這只是一個簡單的解決方案,我只是看不到它。
提前致謝。
我難住這個,我需要一些新鮮的眼睛,我不知道爲什麼這段代碼是這樣做的。字符串到字符數組Java
String string = new String(new char[] {(char) 0x01, (char) 0x02, ... ,(char) 0xFC});
輸出是一切應該是,直到最後數(0xFC有)返回-4, 我知道它的十六進制值,但如果我做同樣的252的十進制值,它也給我一個消極的。我希望這只是一個簡單的解決方案,我只是看不到它。
提前致謝。
到字符數組的字符串很簡單,只要
String str = "someString";
char[] charArray = str.toCharArray();
你能解釋更多關於你正在嘗試做一點點?
*更新*
如果我理解你的新評論,你可以使用一個字節數組,並提供了例子。
byte[] bytes = ByteBuffer.allocate(4).putInt(1695609641).array();
for (byte b : bytes) {
System.out.format("0x%x ", b);
}
利用隨後的輸出
0x65 0x10的0xf3 0x29
我想發送一個包含字節數組或字符數組的數據包,以獲取特定的值給我在我的封閉網絡上的設備。我正在製作一個遙控器。只需要9個字節的數組,即可給出特定的十六進制或十進制值。 – 2012-04-06 21:22:10
@CodyKeasberry我已更新答案 – Kevin 2012-04-07 04:34:35
上面的一個很好的捷徑是「string」.toCharArray()。它可以爲您節省一行代碼。 – 2013-03-18 21:37:47
什麼是你想回來? – Krishna 2012-04-06 20:32:08
所以你正試圖創建一個字符串_字符數組? – 2012-04-06 20:32:23
'0xFC'是一個正整數; 'char'類型沒有簽名。生成的代碼點是U + 00FC - 帶Diaeresis的拉丁小寫字母U.你如何輸出字符串? – McDowell 2012-04-06 20:42:19