安卓按鍵讀取txt開頭出現未知字符的問題

很多時候 我們讀取txt 用traceprint輸出後 最頭上會莫名其妙多出一個問號 但是你用問號匹配他 卻匹配不到  就是1個未知字符  這個到底是什麼 怎麼避免出現這個東西呢

 

這個主要是txt文件存在一個bom頭字符串 但是 安卓狀態下 txt卻不認識這個字符串 這個bom頭在電腦是不可見的 

 

處理辦法

1 使用類似noytepad++之類的編輯工具把txt文件的bom頭去掉 然後再把這個txt傳到安卓上 開始腳本處理

2 腳本每次讀取txt會檢測文件內容開始是否存在bom頭字符串 存在則替換掉 不存在更好

 

第一個辦法 我就不用演示了 自己去處理下即可

第二個 我是用一個函數來實現處理的  可以參考下

 

-------------------------------------------------------------


Function 文本文件格式化操作(文件路徑)
    Dim 讀取內容
    讀取內容 = Trim(file.Read(文件路徑))
 
    //判斷開頭3個字符是否是bom頭
    If Mid(讀取內容, 1, 3) = Chr(239) & Chr(187) & Chr(191) Then
        //有則替換爲空 然後重新寫入內容 這個地方不確定是否除了第一行之外還可能存在bom頭 應該沒那麼巧
        file.Write 文件路徑, Replace(讀取內容, Chr(239) & Chr(187) & Chr(191), "")
    End If
   
    //如果txt裏面最後不是以\r\n結尾的 就自動添加一個回車換行符 來實現這個 也解決了替換最後一行 不寫\r\n會替換找不到的情況
    If trim(讀取內容)<>""and Right(讀取內容, 2) <> "\r\n" Then
        file.Write 文件路徑, 讀取內容 & "\r\n"
    End If
   
End Function

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章