Java StringBuffer,ASCII字符和串行通信

时间:2012-11-06 14:43:57

标签: java string serial-port buffer

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

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

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

2 个答案:

答案 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)的范围。