raf.write("A");為什么說只會寫A的“后”八位?
1、raf.dat是ansi編碼,一個(gè)字母只占一個(gè)字節(jié),也就是說只有八位?那么,何來前后之說?
2、老師說如果‘A’字符前八位都為0,系統(tǒng)只寫了它的后八位,就可以寫出這個(gè)字符。那么假如B后八位與A的后八位一樣,但是前八位不為0,那么當(dāng)系統(tǒng)寫完B后八位時(shí),豈不是會直接把B后八位錯(cuò)誤解析成A。畢竟一次只讀一個(gè)字節(jié)。
1、raf.dat是ansi編碼,一個(gè)字母只占一個(gè)字節(jié),也就是說只有八位?那么,何來前后之說?
2、老師說如果‘A’字符前八位都為0,系統(tǒng)只寫了它的后八位,就可以寫出這個(gè)字符。那么假如B后八位與A的后八位一樣,但是前八位不為0,那么當(dāng)系統(tǒng)寫完B后八位時(shí),豈不是會直接把B后八位錯(cuò)誤解析成A。畢竟一次只讀一個(gè)字節(jié)。
2017-03-07
舉報(bào)
2017-03-07
一個(gè)字符根據(jù)編碼方式的不同所需的字節(jié)數(shù)也不同,gbk編碼的一個(gè)字符需要2個(gè)字節(jié),而write方法是寫入一個(gè)字節(jié),因?yàn)橄到y(tǒng)會將后八位寫入。