1

我正在开发一个必须从串行总线设备接收消息的 Java 应用程序。

我的意图是使用StringBuffers 来处理这些消息,但我必须考虑一些事情:消息可能包含不可打印的字符(例如 0x02)。

因此,我实际上想知道 StringBuffer 对象是否适合处理此类数据,或者它们是否有一些与它们可以容纳的字符范围相关的限制,如果是的话,什么对象是合适的?或者也许byte[]

4

2 回答 2

1

您可以使用字符串缓冲区。

正如 Alex 所提到的,它由一系列 Char 组成,其中每个 Char 代表 16 位 unicode 值。

或者,如果不需要线程安全,我建议改用StringBuilder。StringBuilder 不是线程安全的,而且速度更快。

于 2012-11-07T01:09:05.337 回答
0

我不确定为什么你会想要使用 StringBuffer 而不是像 giorashc 提到的更通用的东西,比如 byte[] 或 bytebuffer,但是......

StringBuffer 本质上是一个字符串。char字符串由原始类型的数组支持。在 java 中,achar是一个 16 位的 unicode 值,其范围为 0x0000 到 0xFFFF (65,535)。

于 2012-11-06T14:55:27.650 回答