怎么判断是不是UTF8编码?
DELPHI不知道怎么判断文件或字符串是否是UTF8编码。
我看到一个VB写的
Function OnUtf8(ByVal byts() As Byte) As Boolean
Try
Dim i As Int32, AscN As Int32
Do While i <= UBound(byts)
If byts(i) < 128 Then
i += 1 'ascii字符
AscN += 1
ElseIf (byts(i) And &HE0) = &HC0 And (byts(i + 1) And &HC0) = &H80 Then
i += 2 '2个字节的utf8
ElseIf (byts(i) And &HF0) = &HE0 And (byts(i + 1) And &HC0) = &H80 And (byts(i + 2) And &HC0) = &H80 Then
i += 3 '3个字节的utf8
Else
Return False
End If
Loop
断可以不要,当全部是ascii字符时,被划分到哪种编码
If AscN = byts.Length Then
Return False
Else
Return True
End If
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Function
我看到一个VB写的
Function OnUtf8(ByVal byts() As Byte) As Boolean
Try
Dim i As Int32, AscN As Int32
Do While i <= UBound(byts)
If byts(i) < 128 Then
i += 1 'ascii字符
AscN += 1
ElseIf (byts(i) And &HE0) = &HC0 And (byts(i + 1) And &HC0) = &H80 Then
i += 2 '2个字节的utf8
ElseIf (byts(i) And &HF0) = &HE0 And (byts(i + 1) And &HC0) = &H80 And (byts(i + 2) And &HC0) = &H80 Then
i += 3 '3个字节的utf8
Else
Return False
End If
Loop
断可以不要,当全部是ascii字符时,被划分到哪种编码
If AscN = byts.Length Then
Return False
Else
Return True
End If
Catch ex As Exception
'MsgBox(ex.Message)
End Try
End Function
...全文
相关推荐
C语言中判断一个char*是不是utf8编码
"C语言中提供了判断一个char*是否为UTF-8编码的代码示例。这个函数utf8_check()会检查输入的字符串,并确保它符合UTF-8编码规范。UTF-8是一种变长的字符编码,它可以表示Uni
C++实现判断一个字符串是否为UTF8或GBK格式的方法
因此,判断字符串是否为UTF8或GBK格式显得非常重要。首先,需要了解UTF8和GBK的编码格式。UTF8是一种变长编码格式,可以使用1-6个字节来编码一个字符,而ASCII则使用一个字节编码。
编码转换工具UTF8转GBK或者GBK转UTF8
在IT领域,编码转换是一个常见的需求,特别是在处理不同地区或语言的数据时。本文将深入探讨“编码转换工具UTF8转GBK或者GBK转UTF8”的相关知识点。首先,我们需要理解编码的基本概念。
UTF8-GBK编码互转(C)
在C语言中实现UTF8和GBK的互转,需要理解这两种编码的结构和转换规则。UTF8的转换涉及识别字节序列,根据前导字节判断字符的长度,然后将其转换为GBK编码。
UTF8/GBK编码转换工具
本篇文章将详细阐述UTF8和GBK编码的区别,以及为什么需要进行编码转换,同时介绍一种名为“UTF8/GBK编码转换工具”的实用程序。


语言基础/算法/系统设计
