我正在使用GWT,并且有一个来自RichTextArea的非常长的字符串,我想在发送到服务器之前将其转换为UTF-8:
String content = new String(rta.getText().getBytes(), "UTF-8");
然而,这个抛出一个例外说:
[Range Error]: Maximum call stack size exceeded
这是一个错误吗?
答案 0 :(得分:1)
RichTextArea.getText返回String
。您正在“转换为utf-8”的操作不正确。无需将java String
转换为任何字符编码。你拥有的代码是在平台的默认字符编码中获取字节,然后将它们解释为utf-8。充其量只需要做很多工作就可以回到完全相同的String
。在最坏的情况下(比如utf-16le的平台编码),你会完全破坏你的String
数据。