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