【问题标题】:Decode and Decode UTF-8 with Java [closed]使用 Java 解码和解码 UTF-8 [关闭]
【发布时间】:2013-04-21 19:01:05
【问题描述】:

我在解码和编码字符串时遇到问题,

我的程序从响应网络服务读取字符串值Hungr\u00EDa,然后我需要将此值转换为Hungría.. 我无法理解如何工作。但是当我将字符串发送到 Web 服务请求时,我需要将值 Hungría 编码为 Hungr\u00EDa

String input = "Hungr\u00EDa";
logger.info("UTF8test.decodeUTF8: "+new String(input.getBytes(),Charset.forName("UTF-8"))); //output is Hungr?a, updated to UTF-8

【问题讨论】:

  • 这不是以不同编码的字符编码。这只是一个字符串格式的 unicode 代码点。
  • UTF8-8 对吗?
  • 不应该是UTF8-8UTF-8
  • "但是当我将字符串发送到 Web 服务请求时,我需要将 Hungría 值编码为 Hungr\u00EDa" - 那么它是 JSON 请求吗?如果是这样,请使用 JSON 库。目前尚不清楚您的确切含义 - 但您应该以您当前的方式重新编码字符串。
  • 你的问题类似这样:stackoverflow.com/questions/11145681/…

标签: java unicode


【解决方案1】:

我的印象是你还不清楚 UTF-8 是什么,什么不是。

最有可能的是,输出实际上是 UTF-8 格式(至少在您修正错字的情况下。也可以考虑使用更短的行!)。但是Hungr\u00EDa 不是 UTF-8Hungría 是,假设您以 UTF-8 访问 stackoverflow。 \u00ED不是 UTF-8。它是一种基于 UTF-8 的不同编码,我称之为“反斜杠转义 unicode”。请参阅:00ED 可能是您想要的字符的十六进制 unicode 字符代码。这个字符的 UTF-8 编码是两个字节 0xC3 0xAD,而在 HTML 中它将被编码为 í

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 2012-11-01
    • 2021-03-22
    • 2020-11-22
    • 1970-01-01
    • 2021-08-08
    • 1970-01-01
    相关资源
    最近更新 更多