Revision: 58592
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 23, 2012 18:18 by ShaneGowland
Initial Code
Private Function is_unicode(ByVal path As String) As Boolean Dim enc As System.Text.Encoding = Nothing Dim file As System.IO.FileStream = New System.IO.FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read) If file.CanSeek Then Dim bom As Byte() = New Byte(3) {} ' Get the byte-order mark, if there is one file.Read(bom, 0, 4) If (bom(0) = &HEF AndAlso bom(1) = &HBB AndAlso bom(2) = &HBF) OrElse (bom(0) = &HFF AndAlso bom(1) = &HFE) OrElse (bom(0) = &HFE AndAlso bom(1) = &HFF) OrElse (bom(0) = 0 AndAlso bom(1) = 0 AndAlso bom(2) = &HFE AndAlso bom(3) = &HFF) Then ' ucs-4 Return True Else Return False End If ' Now reposition the file cursor back to the start of the file file.Seek(0, System.IO.SeekOrigin.Begin) Else Return False End If End Function
Initial URL
Initial Description
The .NET Framework doesn't support automatic detection of character encoding in the default file I/O methods. This is a quick function that returns True in the specified file is Unicode.
Initial Title
Determine if text file is Unicode encoded
Initial Tags
file, text
Initial Language
VB.NET