Java Android是否有与string.canBeConvertedToStringEncoding(编码)等效的代码
在Java Android是否有与string.canBeConvertedToStringEncoding(编码)等效的代码,java,android,objective-c,encoding,character-encoding,Java,Android,Objective C,Encoding,Character Encoding,在iOS中,有一种方法可以转换为字符串编码,该方法将告诉您给定的字符串是否可以编码为提供的编码/字符集类型(即UTF-8、ISOLatin1等)。Android/Java中是否有任何等效的内置方法可用? iOS还有一个fastestEncoding和smallestEncoding,它将返回给定字符串可用的最佳编码类型。Android对这些有任何等价物吗? 谢谢。尝试使用urlcoder.encode(字符串,“UTF-8”),如下所示: byte[] utf8 = new String(str
iOS
中,有一种方法可以转换为字符串编码
,该方法将告诉您给定的字符串
是否可以编码为提供的编码/字符集类型(即UTF-8、ISOLatin1等)。Android/Java中是否有任何等效的内置方法可用?
iOS
还有一个fastestEncoding
和smallestEncoding
,它将返回给定字符串可用的最佳编码类型。Android对这些有任何等价物吗?
谢谢。尝试使用
urlcoder.encode(字符串,“UTF-8”),如下所示:
byte[] utf8 = new String(string, "ISO-8859-1").getBytes("UTF-8");
请参阅
字符集canEncode:
boolean ISO = Charset.forName("ISO-8859-1").newEncoder()
.canEncode(str);
Java没有这种方法,但是您可以通过尝试编码/解码来检查字符串是否可以在特定字符编码中正确表示
例如,您可以使自己的string.canbeconvertedtostringcoding
等效,如下所示:
import java.io.UnsupportedEncodingException;
班长{
公共静态void main(字符串[]args)引发UnsupportedEncodingException{
if(可转换为压缩编码(“abc”、“ISO-8859-1”)){
System.out.println(“可转换”);
}否则{
System.out.println(“无法转换”);
}
如果(可转换为压缩编码)あいう", "ISO-8859-1“)){
System.out.println(“可转换”);
}否则{
System.out.println(“无法转换”);
}
}
公共静态布尔canBeConvertedToStringEncoding(字符串目标,字符串编码)引发不受支持的编码异常{
String to=新字符串(target.getBytes(编码),编码);
返回目标。等于(to);
}
}
谢谢@lazy,但我不想知道如何编码。相反,如果Android有一种测试字符串是否可以转换为特定编码的方法(就像iOS一样)。否则,你必须尝试编码并捕获任何错误,然后尝试另一种编码等…@Mudlabs好的,我明白你想要什么。您可以使用“字符集”