gpt4 book ai didi

java - 如何指定我想要的 UTF-8 版本(在 Java 中)?

转载 作者:行者123 更新时间:2023-12-02 08:14:56 25 4
gpt4 key购买 nike

由于一些尴尬的遗留代码,我需要将一些非英语文本作为明显采用 UTF-8 编码的 ansi/ascii 字符串传递。在大多数情况下,这工作正常(我正在使用 URLEncoder)。但是,现在我需要它能够在不同的情况下输出不同版本的UTF-8,但我不知道该怎么做。

例如,该字符可以通过以下方式进行 UTF-8 编码:


%u5927
大
%E5%A4%A7

但是似乎没有谈论不同的版本,好像没有什么区别。我知道 URLEncoder 不执行第二个版本,因为 & 是保留字符,但第二个版本是我在某些情况下需要的。如何将文本转换为我想要的特定版本?

具体来说,它被传递到一个 .jsp,该 .jsp 包含一个名为 displaytag 的库,该库可以处理数据并显示表格,而无需太多开发人员输入,但它似乎没有任何用于设置编码的选项。我知道上面列表中的第二个编码(作为 ansi/ascii 传递)可以正确显示,而无需更改 .jsp,但这对我来说是最安全的选择。我只需要这样就可以了。

最佳答案

第一个是十六进制的 unicode 代码点,是 URL 编码的,第二个是十进制的,是 HTML/XML 实体形式。

从未将其用于您的目的,但我认为 StringEscapeUtils escapeHtml 或 escapeXml 应该为您提供第二种形式。

顺便说一句,第二种形式也有十六进制版本:

第三个看起来像是由非 utf-8 感知函数进行的转换,该函数已转换 utf-8 中分别构成单个代码点的三个字节。在我看来,第三个是不正确的,因为你无法看出它是三个 ascii 字节还是实际上是 utf-8。

关于java - 如何指定我想要的 UTF-8 版本(在 Java 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6620343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com