我正在开发一个Java应用程序,它必须从串行总线设备接收消息。
我的意图是使用StringBuffer
来处理这些消息,但我需要考虑的事情是:消息可能包含不可打印的字符(例如0x02)。
由于这个原因,我实际上想知道StringBuffer对象是否适合处理这些数据,或者它们是否有一些与它们可以容纳的字符范围有关的限制,如果是,那么哪个对象是合适的?或者也许是byte[]
?
答案 0 :(得分:1)
您可以使用StringBuffer。
正如Alex所说,它由一系列Char组成,其中每个Char代表16位unicode值。
或者,如果不需要线程安全,我建议使用 StringBuilder 。 StringBuilder不是线程安全的,而且速度更快。
答案 1 :(得分:0)
我不确定为什么你会想要使用StringBuffer而不是像giorashc提到的那样更像字体[]或bytebuffer,但是......
StringBuffer本质上是一个String。字符串由char
基元类型的数组支持。在java中,char
是一个16位的unicode值,给它一个0x0000到0xFFFF(65,535)的范围。