坑點:
壓縮后的byte 數組中會有元素是負數,如果轉化成String 存入文件,然后再讀取解壓縮還原,無法得到原來的結果,甚至是無法解壓縮。
原因分析:
String 底層是由char 數組構成的,而char 在java 中存儲是2字節的無符號數,所以負數byte 在存入String 后轉化成對應的 char 會有不正常轉化,這個過程不可逆。
處理:壓縮后的byte 數組 按 字節寫入文件,讀取時候按字節讀取,就不存在byte數組和字符char 之間的轉換。
坑點:
壓縮后的byte 數組中會有元素是負數,如果轉化成String 存入文件,然后再讀取解壓縮還原,無法得到原來的結果,甚至是無法解壓縮。
原因分析:
String 底層是由char 數組構成的,而char 在java 中存儲是2字節的無符號數,所以負數byte 在存入String 后轉化成對應的 char 會有不正常轉化,這個過程不可逆。
處理:壓縮后的byte 數組 按 字節寫入文件,讀取時候按字節讀取,就不存在byte數組和字符char 之間的轉換。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。