繁体   English   中英

在.java文件中使用unicode字符?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM