某些ASCII字符占用的内存超过1个字节吗?

问题描述 投票:1回答:1

我有一段这样的代码:

String a="10100101010101001010101001....."
for(int i=0;i<a.length()-8;i+=8){
            String k=a.substring(i,i+8);
            int num=Integer.parseInt(k,2);
            char o=(char)(num);
            out.print(o);//print to file
}

[基本上,我们在接收到二进制字符串后将ascii字符输出到txt文件中。该循环运行的次数和打印的字符数约为1100。但是,检查此txt文件的文件大小,大约为1700字节。这有什么意义?为什么会这样?但是,如果我尝试将字符打印到“正常”的txt文件中(az,0-9等),则似乎占用了与字符相同的字节数(1个字节= 1个ascii字符= 8位) )。

以某种方式,当我打印那些“奇怪的” ASCII字符时,将使用更多的内存。有没有解决此问题的方法? (精确打印字符数)

java file memory text binary
1个回答
0
投票

[ASCII字符仅占用1个字节,除非您使用UTF-16UTF-32之类的东西进行编码,但这很少见。

但是,ASCII

© www.soinside.com 2019 - 2024. All rights reserved.