Java用UTF-8字符编码字符串中的特殊字符

vye*_*ri5 5 java utf-8

 String original = "This is my string val\xc3\xbae";\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在尝试将上述字符串编码为 UTF-8 等效项,但仅将特殊字符 (\xc3\xba) 替换为 -- "ú ;" 在这种情况下。

\n\n

我已尝试使用以下命令,但出现错误:

\n\n
\n

输入不是正确的UTF-8,指示编码!字节:0xFA 0x20 0x63 0x61

\n
\n\n

代码:

\n\n
    String original = new String("This is my string val\xc3\xbae");\n\n    byte ptext[] = original.getBytes("UTF-8");\n    String value = new String(ptext, "UTF-8"); \n\n    System.out.println("Output : " + value);\n\n    This is my string val\xc3\xbae\n
Run Code Online (Sandbox Code Playgroud)\n

Ell*_*sch 3

您可以使用String.replace(CharSequence, CharSequence)io 并对其进行格式化

\n\n
String original = "This is my string val\xc3\xbae";\nSystem.out.printf("Output : %s%n", original.replace("\xc3\xba", "ú"));\n
Run Code Online (Sandbox Code Playgroud)\n\n

哪些输出(正如我认为你想要的)

\n\n
Output : This is my string valúe\n
Run Code Online (Sandbox Code Playgroud)\n

  • 如果我有另一个特殊字符,如“ñ”怎么办?有没有办法可以将任何特殊字符与其等效的 UTF-8 值转换为硬编码,而不是硬编码? (3认同)
  • 看看 [`StringEscapeUtils`](https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html) 和 `escapeHtml`。 (3认同)
  • 包 `org.apache.commons.lang3` 中的 [StringEscapeUtils](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringEscapeUtils.html) 已被 **弃用* * 并使用包`org.apache.commons中的[StringEscapeUtils](https://commons.apache.org/proper/commons-text/javadocs/api-release/org/apache/commons/text/StringEscapeUtils.html)。文本`代替。 (2认同)