2010-06-16 86 views

回答

1

如果eclipse设置丢失,或者程序在eclipse外部生成,西里尔字符可能会被破坏,没有人注意到直到程序根据它们执行操作。这可能或可能不是一个可接受的风险。

假设这是关于this question中描述的程序,更可靠的替代方法是将西里尔文字符放在外部文件中而不是直接放入源代码中,并使用UTF-8明确解析该文件。

+0

非常感谢!这正是它的意义所在。你能详细解释一下使用UTF-8解析吗?我应该使用什么关键方法? – 2010-06-16 08:57:20

+1

@Emanuil:只需使用InputStreamReader并在读取文件时指定编码。或者使用像XML这样的文件格式,其中编码由文件本身指定(需要适当的头文件并使用适当的XML解析器,该文件可以直接在文件上运行)。 – 2010-06-16 09:14:09

+0

再次感谢!你一直很有帮助。 – 2010-06-16 09:25:26

1

如果只有几个字符,你可以使用\uxxxx符号:

char[][] translate = { 
     {'\u0430', 'a'}, 
     {'\u0431', 'b'}, 
     {'\u0432', 'v'}, 
     {'\u0433', 'g'}, 
     ... 
    }; 

也有看native2ascii工具自带的JDK,以原生文本转换为Unicode Latin-1的。