我不敢相信我對此感到困難,但到目前爲止還沒有找到答案:假設我有一個Java char
(或一個字符String
),我想將它轉換爲ASCII的byte
。我該怎麼做呢?將8位ASCII字符轉換爲字節
我知道我可以查找ASCII字符的十進制值並從中創建一個字節,但它似乎應該有一個簡單的轉換。我發現了什麼似乎是答案字節數組:
byte[] asciiArray = "SomeString".getBytes(StandardCharsets.US_ASCII);
而不是隻是一個字節。喜歡的東西:
byte asciiA = <some conversion function>('A');
你在找'(byte)'A''嗎? – Kevin
Java'char'不是一個字節。它是16位Unicode,必須使用特定的外部表示進行編碼,例如UTF-8。某些「ASCII」字符將導致多個字節的輸出。 –
當你指定8位時,是否真的需要包含擴展ASCII(0x80-0xFF)?如果是這樣,那麼不可能將所有字符轉換爲單個字節,因爲其中一些可能以UTF-8編碼爲2個字節,問題還不清楚。 –