将8位ASCII字符转换为字节

时间:2017-02-17 17:29:19

标签: java character-encoding ascii

我无法相信我在这方面遇到了困难,但到目前为止还没有找到答案:让我们说我有一个Java char(或1个字符String),我想将其转换为ASCII的byte。我该怎么做呢?

我知道我可以查找ASCII字符的十进制值并从中创建一个字节,但似乎应该有一个简单的转换。我找到了似乎是字节数组的答案

byte[] asciiArray = "SomeString".getBytes( StandardCharsets.US_ASCII );

但不仅仅是一个字节。类似的东西:

byte asciiA = <some conversion function>('A'); 

1 个答案:

答案 0 :(得分:1)

如果您确定U + 0000到U + 007F范围内的字符,它将是一个UTF-16代码单元(字符),并且也是ASCII字符集,并且UTF-16代码单元将具有与ASCII代码单元相同的值。

你可能想添加一个后卫,因为(byte)'½'不会给你任何有用的东西。