有谁知道如何将字符串从ISO-8859-1转换为UTF-8并返回Java?
我从网上获取一个字符串并将其保存在RMS(J2ME)中,但我想保留特殊字符并从RMS获取字符串,但使用ISO-8859-1编码.我该怎么做呢?
我有一个JSP页面编码的页面ISO-8859-1.这个JSP页面有一个问题答案博客.我希望在Q/A发布期间包含特殊字符.
问题是JSP不支持UTF-8编码,即使我已将其更改ISO-8859-1为UTF-8.这些字符(~,%,&,+)正在问题.当我单独或使用任何字符的组合发布这些字符时,它null在数据库中是storinh ,当我在发布应用程序时删除这些字符时它工作正常.
任何人都能提出一些解决方案吗
我们有一个系统,客户,主要是欧洲输入文本(UTF-8),必须分发到不同的系统,大多数接受UTF-8,但现在我们还必须将文本分发给只接受美国的美国系统. -Ascii 7位
所以现在我们需要将所有欧洲字符翻译成最近的US-Ascii.是否有任何Java库可以帮助完成此任务?
现在我们刚刚开始添加到翻译表,其中Å(瑞典AA) - > A等等,如果我们找不到输入字符的任何匹配项,我们将记录并替换为问号并试着为下一个版本修复它,但它似乎非常低效,而其他人必须先做过类似的事情.
我有一个使用UTF-8编码String的byte[]数组创建.
但是,应该使用其他编码(Windows-1252)创建它.
有没有办法将此String转换回正确的编码?
我知道如果你可以访问原始的字节数组很容易,但是我的情况为时已晚,因为它是由一个封闭的源库提供的.
我有一个文本文件,它可以是ANSI(带有ISO-8859-2字符集),UTF-8,UCS-2 Big或Little Endian.
有没有办法检测文件的编码以正确读取它?
或者是否可以在不提供编码的情况下读取文件?(它按原样读取文件)
(有几个程序可以检测和转换文本文件的编码/格式.)
我有json值喜欢
\u092a\u093e\u0932\u094d\u092a\u093e\u0915\u093e \u092c\u0928\u094d\u0926\u0940\u0939\u0930\u0942 \u0915\u093e\u0930\u093e\u0917\u093e\u0930\u092d\u093f\u0924\u094d\u0930\u0948 \u0905\u0938\u0941\u0930\u0915
我们如何获得String或如何在android中解码它并在文本视图中显示它.
我对它执行一些操作,但它显示日志 ??????????????????????????????
有人能帮我吗.谢谢
我有一个非常有趣的话题 - 至少对我而言.给定一个带有字节的ByteArrayOutputStream,例如UTF-8,我需要一个能够将这些字节"转换"成另一个字节的函数 - 新的 - ByteArrayOutputStream,例如UTF-16,或ASCII或你命名它.我天真的方法是使用一个InputStreamReader并提供所需的编码,但这不起作用,因为它将读入char [],我只能将byte []写入新的BAOS.
public byte[] convertStream(Charset encoding) {
ByteArrayInputStream original = new ByteArrayInputStream(raw.toByteArray());
InputStreamReader contentReader = new InputStreamReader(original, encoding);
ByteArrayOutputStream converted = new ByteArrayOutputStream();
int readCount;
char[] buffer = new char[4096];
while ((readCount = contentReader.read(buffer, 0, buffer.length)) != -1)
converted.write(buffer, 0, readCount);
return converted.toByteArray();
}
Run Code Online (Sandbox Code Playgroud)
现在,这显然不起作用,我正在寻找一种方法来使这种情况成为可能,而不是从字节[]中构建一个字符串.
@Edit:因为看起来很难读出明显的东西.1)raw:ByteArrayOutputStream,包含从客户端发送给我们的BINARY对象的字节.字节通常以UTF-8作为HTTP消息的一部分.2)这里的目标是将此BINARY数据发送到一个不灵活的内部系统 - 这是一个内部系统 - 它接受UTF-16中的这些附件.我不知道为什么不问,它是这样的.
因此,为了证明我的问题:有没有办法将字节数组从Charset A转换为Charset B或编码你的选择.再次建立一个字符串不是我想要的.
谢谢你,并希望清除可疑的部分:).
我通过处理客户端应用程序发送的请求获得UTF8字符串.但字符串真的是UTF16.我能做些什么才能将它变成我的本地字符串是一个字母后跟\0字符?我需要将该String转换为UTF16.
样本接收字符串: S\0a\0m\0p\0l\0e(UTF8).
我想要的是:Sample(UTF16)
FileItem item = (FileItem) iter.next();
String field = "";
String value = "";
if (item.isFormField()) {
try{
value=item.getString();
System.out.println("====" + value);
}
Run Code Online (Sandbox Code Playgroud) 可能重复:
java中的编码转换
实际上我需要一个示例,方法在Java中将cp1251编码转换为utf-8.例如,我在PHP中没有遇到这个问题,因为:
iconv($str, "cp1251", "utf-8");
Run Code Online (Sandbox Code Playgroud)
所以,可能有人有过使用Java制作这类东西的经验,请帮忙.Thx提前.