问题
如何以最简单的方式将字节附加到StringBuffer中(即将一个字节转换为字符),并指定所使用的字符编码(ASCII,UTF-8等)?
背景
我想将一个字节追加到stringbuffer中。这需要将字节强制转换为字符:
myStringBuffer.append((char)nextByte);
然而,上述代码使用了我的机器的默认字符编码(即MacRoman)。与此同时,系统/网络中的其他组件需要UTF-8。因此,我需要进行以下操作:
try {
myStringBuffer.append(new String(new Byte[]{nextByte}, "UTF-8"));
} catch (UnsupportedEncodingException e) {
//handle error
}
说实话,这样做相当丑陋。
肯定有更好的方法(而不是将同一代码分成多行)吧?????
StringBuilder
代替StringBuffer
。除非你知道为什么需要一个StringBuffer
(内部同步),否则与StringBuilder
相比,你不需要它,因为它的操作和方法是相同的,但它总是更快。 - pickypg