不知大家可否结果一个这样的信息
说是可以算出你的前世,详细的内容我忘记了。大致是要你先算出一个数,这个数肯定会是55021
然后要你按住Alt再在小键盘上打的55021,这是屏幕上就会出现“猪”这个字
很显然,这不是因为我们的前世并不是猪,而是由于我们键入了“猪”这个字的Ascii编码
当时我就很纳闷,如何能够获得汉字的Ascii码呢?
在网上基本上都是通过某种编程语言来获得汉字的Ascii码,感觉很繁琐
前几天,我们的老师教了我们一条命令,是Java的JDK中的native2ascii 命令
它能够得到汉字的Ascii编码
我们运行 cmd,然后键入native2ascii,然后键入猪,我们会获得/u732a这个值
很显然,732a这个数是一个16进制的数,我们将它转换为十进制,则是29482
然后我们按住Alt+29482,结果却与我们的预期值不一样,是s
我当时很纳闷,这是为什么呢?百思不得其解
最后在网上查找native2ascii命令的用法,发现它是有参数的
native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]
其中-encoding 这个参数很显然是编码
我执行native2ascii -encoding utf-8得到的结果仍然不正确
与我是我在编码的列表中寻找合适的编码,最后想到了utf-16
utf-8大概是8位的意思吧,而我们的汉字是需要两个字节,16位来表示的
于是,我就尝试了一下
执行了native2ascii -encoding utf-16,键入“猪”,然后再按ctrl+z结束
我们得到了/ud6ed/u0d0a这组值,后边那个是ctrl+z的值,前面是我们需要的
我们将d6ed转换成十进制,为55021
我们再alt+55021,是不是得到了我们想要的结果
在这里再提示一下大家,“¤”这个字符在JSP中可以获得该语言区域的货币符号,米国是$,中国是¥,等等
可是我们通常在用它的时候都要找上一番
我们通过上述的方法(不必加-encoding,因为它是基本的),就可以获得164这个数,我们按住alt+164就会获得我们想要的¤符号了