编码为 UTF-8。编码字符例如。 ö 至 ¶
Encode to UTF-8. Encode character eg. ö to ö
我想将 Android 中的字符串编码为 UTF-8。例如这个字符串:
Grüne Ähren beißen Flöhe
至
Grüne Ãhren beiÃen Flöhe
但无论我做什么,我都会将 ü 编码为 ü 或将 ü 编码为 %C3%BC(在线通常称为 'raw URL encode')。
找到转换为 byte[] 或 URI.toASCIIString() 的解决方案。但是他们中没有一个对我有用。
更新
我正在加入 eBay 合作伙伴网络并尝试将搜索词连接到我的合作伙伴 url。
eBay 的人必须使用错误的字符集,因为 UTF-8 URL 编码的字符串不起作用。
使用 UTF-8 URL 编码的搜索词
(Grüne Ähren beißen Flöhe
到
Gr%C3%BCne%20%C3%84hren%20bei%C3%9Fen%20Fl%C3%B6he)
在 eBay 搜索框中出现此结果:
如果我用 ISO_8859_1 对我的搜索词进行编码,它就可以工作 (Grüne Ãhren beiÃen Flöhe):
非常感谢社区
您本质上想要的是根据 UTF-8
将字符串转换为其字节表示形式,并使用不同的字符集解释这些字节,例如 ISO-8859-1
.
这通常是许多问题的原因。您想故意做大多数开发人员做错的事情(或者他们只是忽略字符集的问题)。
因为你只需要它来工作,使用这段代码:
byte[] bytes = "Grüne Ähren beißen Flöhe".getBytes("UTF-8");
String result = new String(bytes, "ISO-8859-1");
在工作中看到它 here。
我想将 Android 中的字符串编码为 UTF-8。例如这个字符串:
Grüne Ähren beißen Flöhe
至
Grüne Ãhren beiÃen Flöhe
但无论我做什么,我都会将 ü 编码为 ü 或将 ü 编码为 %C3%BC(在线通常称为 'raw URL encode')。
找到转换为 byte[] 或 URI.toASCIIString() 的解决方案。但是他们中没有一个对我有用。
更新
我正在加入 eBay 合作伙伴网络并尝试将搜索词连接到我的合作伙伴 url。 eBay 的人必须使用错误的字符集,因为 UTF-8 URL 编码的字符串不起作用。
使用 UTF-8 URL 编码的搜索词
(Grüne Ähren beißen Flöhe
到
Gr%C3%BCne%20%C3%84hren%20bei%C3%9Fen%20Fl%C3%B6he)
在 eBay 搜索框中出现此结果:
如果我用 ISO_8859_1 对我的搜索词进行编码,它就可以工作 (Grüne Ãhren beiÃen Flöhe):
非常感谢社区
您本质上想要的是根据 UTF-8
将字符串转换为其字节表示形式,并使用不同的字符集解释这些字节,例如 ISO-8859-1
.
这通常是许多问题的原因。您想故意做大多数开发人员做错的事情(或者他们只是忽略字符集的问题)。
因为你只需要它来工作,使用这段代码:
byte[] bytes = "Grüne Ähren beißen Flöhe".getBytes("UTF-8");
String result = new String(bytes, "ISO-8859-1");
在工作中看到它 here。