[英]Using a unicode character in a .java file?
我想在类文件中设置一个unicode字符,如下所示:
TextView tv = ...;
tv.setText("·");
在.java文件中使用unicode字符有什么问题吗?
谢谢
不.Java字符串支持Unicode,所以你不应该遇到任何问题。 您可能必须检查TextView
类是否处理所有Unicode字符(它应该),但Java本身将处理unicode字符。
您还应确保使用正确的编码设置保存文件。 基本上这意味着您的编辑器应该将java文件保存为UTF-8编码的Unicode。 有关详细信息,请参阅此答案的评论。
在.java文件中使用unicode字符有什么问题吗?
如您所知,JVM中的字符串存储为Unicode - 因此问题是如何在Java源文件中处理Unicode ...
简而言之,使用Unicode很好。 有几种方法可以接近它......
默认情况下, javac
编译器期望源文件采用平台默认编码。 这可以使用-encoding
标志覆盖:
-encoding encoding
设置源文件编码名称,例如EUCJIS / SJIS / ISO8859-1 / UTF8。 如果未指定-encoding
,则使用平台默认转换器。
或者,如果它是单个字符(看起来像是),您可以将源文件保留为平台默认编码,并使用Unicode转义序列指定字符:
tv.setText("\u1234");
...其中'1234'是您想要的字符的Unicode值。
另一种方法是首先将文件保存为与Unicode兼容的编码(例如UTF-8),然后使用native2ascii
将该文件转换为本机编码(它将任何超出范围的字符转换为相应的Unicode转义序列)。
名称
native2ascii
- 原native2ascii
ASCII转换器概要
native2ascii [ options ] [ inputfile [outputfile]]
描述
Java编译器和其他Java工具只能处理包含Latin-1或Unicode编码(\?
表示法)字符的文件。 native2ascii将包含其他字符编码的文件转换为包含Latin-1或Unicode编码的字符的文件。如果省略outputfile,则使用标准输出进行输出。 另外,如果省略inputfile,则使用标准输入进行输入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.