长字符串转换为UTF-8会抛出异常

时间:2014-08-06 22:45:09

标签: java gwt

我正在使用GWT,并且有一个来自RichTextArea的非常长的字符串,我想在发送到服务器之前将其转换为UTF-8:

String content = new String(rta.getText().getBytes(), "UTF-8");

然而,这个抛出一个例外说:

 [Range Error]: Maximum call stack size exceeded

这是一个错误吗?

1 个答案:

答案 0 :(得分:1)

RichTextArea.getText返回String。您正在“转换为utf-8”的操作不正确。无需将java String转换为任何字符编码。你拥有的代码是在平台的默认字符编码中获取字节,然后将它们解释为utf-8。充其量只需要做很多工作就可以回到完全相同的String。在最坏的情况下(比如utf-16le的平台编码),你会完全破坏你的String数据。