請問各位先進如何判斷文字檔是Unicode還是ANSI
我目前的作法是
'判斷是否是UniCode
Function UniCodeYN(ByVal sPath As String) As Boolean
Dim sTemp As String
UniCodeYN=False
'檔案存在與否
If Dir(sPath, vbHidden + vbNormal + vbReadOnly + vbSystem) = "" Then Exit Function
'開啟檔案
Open sPath For Binary As #1
sTemp = StrConv(InputB(2, #1), vbUnicode)
'判斷是否是UniCode檔頭
If Asc(sTemp) = 63 Then
UniCodeYN = True
End If
Close #1
End Function
已找過全文檢索中有提到 『「前二個Byte為 FF FE」就是 unicode,反之就不是。』
那要是ANSI第一的文字是『?』
那不誤判了嗎?
麻煩各位先進指點^_^
我目前的作法是
'判斷是否是UniCode
Function UniCodeYN(ByVal sPath As String) As Boolean
Dim sTemp As String
UniCodeYN=False
'檔案存在與否
If Dir(sPath, vbHidden + vbNormal + vbReadOnly + vbSystem) = "" Then Exit Function
'開啟檔案
Open sPath For Binary As #1
sTemp = StrConv(InputB(2, #1), vbUnicode)
'判斷是否是UniCode檔頭
If Asc(sTemp) = 63 Then
UniCodeYN = True
End If
Close #1
End Function
已找過全文檢索中有提到 『「前二個Byte為 FF FE」就是 unicode,反之就不是。』
那要是ANSI第一的文字是『?』
那不誤判了嗎?
麻煩各位先進指點^_^
全站熱搜
留言列表