我如何用Java特殊字符表示

时间:2010-09-16 18:22:06

标签: java

我是Java编程语言的初学者,我遇到了一个我不知道如何解决的问题。我需要表示特殊字符,如“Ψ”,“Σ”,“Θ”,“Ξ”,“,”,“ß”。 我该怎么做?

更新:感谢您的回答,抱歉没有详细说明问题,所以我走了。 我正在尝试制作7Bit字母,这是用于编码发送“SMS”的PDU。 http://pastebin.com/NtY1aWTR这里是java中的类。

如果用户输入字符,该方法将从HashMap处理7Bits中的值。 例如 : 如果用户输入“ Votaguz ” 其结果是:1010110 1101111 1110100 1100001 1100111 1110101 1111010 但是,当用户尝试写一些如何:“Θ”[OMEGA]  答案是:null null

4 个答案:

答案 0 :(得分:3)

那些字符在unicode字符集中,因此您可以在应用程序中使用它们。您可能希望提供其他信息和用例以获得更准确的答案。


资源:

答案 1 :(得分:0)

如果您平台上使用的编码中存在字符(通常是Windows上的代码页1252,对应于ISO-Latin-1),您可以直接在源代码中使用它们。

如果你不想搞乱代码页兼容性,你应该将标准ASCII之外的字符(就像那里的字符)表示为\ Uxxxx,其中xxxx是你想要的字符的Unicode值的十六进制表示。单调但便携。

答案 2 :(得分:0)

一些选项:

  • 在键盘上键入它们,例如德语键盘上的ß。

  • 使用撰写序列,例如[compose] [s] [s]在我的Linux机器上给出ß。在MS-Windows上,它通常是[Alt [2] [2] [5]]。

  • 将它们从字符选择器(或其他来源)复制并粘贴到编辑器中。

  • unicode.org查找字符代码,然后使用\ uXXXX或在应用程序中将其生成为字符。 Java char是16位,String由16位字符组成,因此您可以免费获得Unicode基准平面。 (像象形文字这样的古代脚本在Unicode中的字符代码> 65536,不直接支持。)

为了获得最佳效果,请使用能够使用UTF-8的编辑器和控制台,例如Eclipse。

答案 3 :(得分:0)

Java在内部使用Unicode字符集,因此可以表示任何大量字符。字符集是“理想字符”的任意集合,并没有真正说明如何在内存,磁盘,网络或其他任何地方表示这些字符。

Java在内存中使用UTF-16编码支持Unicode - 因此大多数字符由16位值表示,但某些字符需要32位或更多位。字符编码将特定字符集映射到表示它们的字节(或其他值)中。并非所有字符编码都能够编码Unicode字符集中的所有字符。例如,US-ASCII每个字符使用7位,因此只能代表128个不同的字符。

在某些情况下,例如在html文档中,可以控制应该使用哪种字符编码。在其他情况下,假定使用的编码,不能轻易改变。

您正在使用的7位编码似乎也可能限制为128个不同的字符。除非您可以更改编码,否则您将无法使用它支持的任何128个字符集。