打印常见字符集的字符和对应的十进制、二进制编码

打印常见字符集( 'ASCII', 'GB2312', 'GBK', 'UTF-8','SHIFT-JIS' ) 的

十进制--字符--二进制对照表   (使用Groovy批处理)

 

package li.kang.wang.charset

def charsets = [
    'ASCII', 'GB2312', 'GBK', 'UTF-8','SHIFT-JIS'
] as String[];

print("开始执行\n\n");

for(charset in charsets){
    long beginTime;
    String tempStr = "";
    
    File fileOutput = new File("D:\\Charset" + charset + ".txt");
    
    if(fileOutput.exists()){
        fileOutput.delete();
    }            
    fileOutput.createNewFile();
    
    beginTime = System.currentTimeMillis();
    
    tempStr += "Decimal \t-> Char     -> Binary\n";
    for(int i=0; i <= 20000;i++){
        tempStr += ( i + " \t-> " + ((char)i) + "    " + " -> " + Integer.toBinaryString(i) + "\n");
    }            
    fileOutput.write(tempStr , charset);
    
    println("================\t" + charset + "\t\t================");
    println("消耗时间(秒):" + ( System.currentTimeMillis()  - beginTime)/ 1000);
    println "文件大小(KB): " +  (fileOutput.size()/1024);
}

print("\n执行完毕");

 Console:

开始执行

================	ASCII		================
消耗时间(秒):92.651
文件大小(KB): 640.810546875
================	GB2312		================
消耗时间(秒):56.251
文件大小(KB): 641.404296875
================	GBK		================
消耗时间(秒):54.602
文件大小(KB): 641.5419921875
================	UTF-8		================
消耗时间(秒):55.853
文件大小(KB): 677.75
================	SHIFT-JIS		================
消耗时间(秒):55.27
文件大小(KB): 641.25

执行完毕

 输出文件:


  

 

到19965后才有汉字编码, 各种字符集对照:

 

1.ASCII

 

2.GB2312

 

3.GBK

 

4.UTF-8

 

5.SHIFT-JIS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 一个字符串可以用ASCII码来表示,每个字符都有一个对应的ASCII码值,可以将这些值转换成二进制表示。例如,字符串"Hello"可以用ASCII码表示为"72 101 108 108 111",对应二进制表示为"01001000 01100101 01101100 01101100 01101111"。 ### 回答2: 一个字符串是如何用二进制表示的?我们知道,计算机中的一切数据都是以二进制形式表示的,包括字符串。在计算机内部,每个字符对应一个ASCII码或Unicode码,而这些码值又可以用二进制数来表示。 对于ASCII码,它使用7位二进制数表示128个不同的字符。例如,字符'A'对应的ASCII码是65,用二进制表示就是01000001。同理,字符'B'的ASCII码是66,用二进制表示是01000010。按照这种方式,其他的字符也都有对应二进制表示。 对于Unicode码,它使用16位二进制数来表示字符,支持更多的字符集。与ASCII码不同,Unicode码可以表示世界上几乎所有的字符,包括不同国家的文字、符号等。例如,汉字'中'对应的Unicode码是20013,用二进制表示就是0100111000101101。其他字符二进制表示也是类似的。 当我们把字符串在计算机内存中存储时,会将每个字符二进制表示连续地排列在一起,构成一个字节序列。例如,字符串"AB"的二进制表示就是0100000101000010。这样计算机就能够识别并处理这个字符串了。 需要注意的是,计算机处理二进制数据非常高效,它能够快速地对二进制进行操作和计算。而人们一般使用十六进制或者十进制表示数据,更容易阅读和理解。因此,在平时的编程和计算过程中,我们一般不直接使用二进制表示字符串,而是像"AB"这样使用字符的形式表示,计算机会自动将其转换为二进制进行处理。 ### 回答3: 一个字符串是如何用二进制表示的要从字符编码开始解释。字符编码是将字符映射为数字的表,计算机系统使用字符编码来存储和表示文本数据。 最常见字符编码是ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码),它使用7位二进制数字(0和1)来表示128个字符,包括字母、数字、标点符号和控制符。ASCII码表规定了每个字符对应二进制数值。 当需要用二进制表示一个字符串时,首先要将文本转换为对应的ASCII码。例如,将字符串"ABC"转换为ASCII码,得到65、66和67。然后,将这些十进制数值转换为二进制数值。 以字符"A"的ASCII码65为例,二进制表示为01000001。数字65可以按照二进制数进行“位运算”:最高位是0,次高位是1,接下来是0、0、0、0和1。 同样地,字符"B"的ASCII码66的二进制表示为01000010,字符"C"的ASCII码67的二进制表示为01000011。 在计算机系统中,一个字符串由一系列字符二进制表示组成。例如,字符串"ABC"的二进制表示为01000001、01000010和01000011的组合。 需要注意的是,不同的字符编码方式可能对应不同的二进制表示。例如,Unicode字符编码为世界上几乎所有的字符提供了唯一的数字标识。Unicode采用的是16位或32位的二进制数,用于表示更广泛的字符集

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值