百科问答小站 logo
百科问答小站 font logo



eclipse强转无法输出ASCII码为3的字符(黑桃),而输出unicode值可以? 第1页

  

user avatar   rednaxelafx 网友的相关建议: 
      

因为ASCII码为3的并不是黑色心形符号,而是“End of Text”特殊字符。引用Wikipedia的表格:

ASCII

这些小于32的ASCII字符都是“控制字符”,原本编码上并没有规定对应的图像(glyph)。

值为3的ASCII字符确实有一种图像解读方式是:

ASCII code 03 = ETX ( End of Text, hearts card suit )
( HTML entity = ♥ )

但这只是某些平台上某些字体对控制字符的解读而已,并不是ASCII编码的本意。

况且Java里,

       (char) 3     

本意并不是“值为3的一个ASCII字符”,而是“值为U+0003的一个UTF-16 code point”。碰巧这个code point正好跟ASCII码的意思一样而已。

Unicode里表示扑克牌的黑色心形符号的字符是U+2665,也就是题主代码里后一种情况。




  

相关话题

  C#填了java哪些坑?java填了C++哪些坑?C++填了C哪些坑? 
  怎样算是学好了 Java? 
  怎么看静态类型语言(java,flutter/dart,swift)纷纷往aot&jit双模式发展? 
  使用G1垃圾收集器是否意味着不需要进行虚拟机性能调优? 
  异常处理(exception handling)和错误处理(error handling)有什么区别? 
  为什么有人说 Java 的跨平台很鸡肋? 
  一个文件分发服务器,要支持多个(几千个)请求下载,文件比较大,用java socket,ftp还是http支持? 
  老师要求我只能使用C++、C或者Java写算法,如何看这种做法? 
  在知乎,Java 相对于 C# 来说是不是被过分贬低了? 
  Java 集合类库的顶层里的 Collection,List,Set 是抽象类的话是否更“正确”一些? 

前一个讨论
清朝为什么被人们叫做清政府?
下一个讨论
110伏电压和220伏电压哪个更科学?





© 2025-01-03 - tinynew.org. All Rights Reserved.
© 2025-01-03 - tinynew.org. 保留所有权利