有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java长字符串转换为UTF8引发异常

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

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

然而,这一条引发了一个例外,说:

 [Range Error]: Maximum call stack size exceeded

这是虫子吗


共 (1) 个答案

  1. # 1 楼答案

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