rt
之前使用TextFile保存一些資料,對字符的ASCII碼做了變換,再用chr函式寫進去
但是有時發生了個別字符被破壞的問題。。前幾天發生了一次問題,被破壞了一個字符,用UltraEdit一看,是一個?字符被破壞,變成了ASCII碼的?字符——兩個字符都顯示成?但內碼不一樣
前兩天又匪夷所思的出現了連續3個字符被破壞的亂七八糟(這3個字符是我用來保存一個數字的,數值亂了,一反向轉換發現已經不是單個字符破壞了),猜想是不是什么控制ASCII字符被寫進去了。。我寫這里的時候當時沒考慮這個可列印字符的問題,就是0-255的ASCII碼全用了,所以被破壞也可以理解吧。。
如果只用ASCII碼32-127應該是絕對安全的吧,但是我有另一處應用已經設計成使用40-167的范圍,已經很難修改。128-167這個范圍如果不用記事本之類的東西打開修改,會出問題嗎?那個?被破壞是這里出了問題,但我記得好像當時用記事本打開修改過,可能記事本不認那個ASCII碼靠后的?,自動轉成可列印字符?了。。如果保證只用UltraEdit打開,是不是不會出問題?
uj5u.com熱心網友回復:
你自己加個密就好了,方法網上很多uj5u.com熱心網友回復:
有些ASCII不是文本,不支持.比如遇到#0,讀的時候就會認為后面結束了.可以把你要處理的做Base64轉換,在進行讀寫
uj5u.com熱心網友回復:
問題就是,是否加密以后一定要在32-127的范圍才安全?128-167安全嗎?
畢竟修改加密演算法是很麻煩的事,那意味著老版本全部失效,必須強制更新版本。
以前保存數字的時候用0-255肯定不行,因為那個數字比較重要,現在修改了演算法,保證只用32-95范圍的ascii字符這總不該出事了
uj5u.com熱心網友回復:
可以明確說以下不支持的ASCII范圍嗎?
uj5u.com熱心網友回復:
可以自己寫一個轉換表1、32-127不變
2、128-167,轉換為21-127的字符組合。
通過轉換,再保存。讀取后,再轉換回來。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/88814.html
標籤:語言基礎/算法/系統設計
