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