Aza*_*zad 4 java ascii casting character-encoding cjk
我知道,ASCII码为0-127之间的十进制和0000 0000以0111 1111二进制,而128-255之间的值被扩展ASCII.
我也知道int接受9位数(我错了,范围int在(-2,147,483,648到2,147,483,647)之间),所以如果我们将每个数字(0-Max intRange)之间的数字转换为a char,那么会有很多符号; 例如:
(char)999,999,999给짿这是一个韩国符号(我不知道它甚至意味着什么;谷歌翻译找不到任何意义!).
min int范围为0 时,值也会发生同样的情况.
将这些符号逐一输入是没有意义的.
我不明白 - 他们怎么能分配这些大数字来拥有自己的角色?
Eri*_*ert 20
我不明白他们如何分配这些大数字来拥有它自己的符号?
这些任务由Unicode联盟完成.有关详细信息,请参见http://unicode.org.
在你的特殊情况下,你做的事情完全没有意义.你有整数999999999,十六进制是0x3B9AC9FF.然后将其转换为char,它丢弃前四个字节并给出0xC9FF.如果你那么在Unicode.org上查看:http://www.unicode.org/cgi-bin/Code2Chart.pl并发现是的,它是一个韩国字符.
事实上,Unicode代码点可能非常大; 其中有一百多万.但你不能仅仅通过施法来达到他们.要使用UTF-16(如C#那样)获取超出"正常"范围的Unicode代码点,您需要使用两个字符.请参阅http://en.wikipedia.org/wiki/UTF-16,有关代理对的部分.
要解决您问题中的其他一些问题:
我知道ACCII代码在十进制的(0-127)和二进制的(0000 0000到0000 1111)之间.
这是ASCII,而不是ACCII,二进制127是01111111,而不是00001111
我们也知道int接受9位数,所以如果我们在每个数字之间转换
int的范围大于该范围.
不知道是什么意思,即使谷歌翻译也找不到任何意义
韩语不像中文,每个字形代表一个单词.那是信件.除非偶然形成一个单词,否则它们没有意义.你可以通过谷歌搜索随机选择的英文字母并试图找到它们的含义; 也许有时你会随意选择CAT,但大多数时候你会选择XRO或者某些不是单词的东西.
如果您想了解韩语字母的工作原理,请阅读此内容:http://en.wikipedia.org/wiki/Hangul
| 归档时间: |
|
| 查看次数: |
462 次 |
| 最近记录: |