本文整理汇总了VB.NET中System.Text.UTF32Encoding类的典型用法代码示例。如果您正苦于以下问题:VB.NET UTF32Encoding类的具体用法?VB.NET UTF32Encoding怎么用?VB.NET UTF32Encoding使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UTF32Encoding类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。
示例1: Example
' 导入命名空间
Imports System.Text
Public Module Example
Public Sub Main()
' Create a UTF32Encoding object with error detection enabled.
Dim encExc As New UTF32Encoding(Not BitConverter.IsLittleEndian, True, True)
' Create a UTF32Encoding object with error detection disabled.
Dim encRepl As New UTF32Encoding(Not BitConverter.IsLittleEndian, True, False)
' Create a byte arrays from a string, and add an invalid surrogate pair, as follows.
' Latin Small Letter Z (U+007A)
' Latin Small Letter A (U+0061)
' Combining Breve (U+0306)
' Latin Small Letter AE With Acute (U+01FD)
' Greek Small Letter Beta (U+03B2)
' a high-surrogate value (U+D8FF)
' an invalid low surrogate (U+01FF)
Dim s As String = "za" & ChrW(&H0306) & ChrW(&H01FD) & ChrW(&H03B2)
' Encode the string using little-endian byte order.
Dim index As Integer = encExc.GetBytecount(s)
Dim bytes(index + 3) As Byte
encExc.GetBytes(s, 0, s.Length, bytes, 0)
bytes(index) = &hFF
bytes(index + 1) = &hD8
bytes(index + 2) = &hFF
bytes(index + 3) = &h01
' Decode the byte array with error detection.
Console.WriteLine("Decoding with error detection:")
PrintDecodedString(bytes, encExc)
' Decode the byte array without error detection.
Console.WriteLine("Decoding without error detection:")
PrintDecodedString(bytes, encRepl)
End Sub
' Decode the bytes and display the string.
Public Sub PrintDecodedString(bytes() As Byte, enc As Encoding)
Try
Console.WriteLine(" Decoded string: {0}", enc.GetString(bytes, 0, bytes.Length))
Catch e As DecoderFallbackException
Console.WriteLine(e.ToString())
End Try
Console.WriteLine()
End Sub
End Module
输出:
Decoding with error detection: System.Text.DecoderFallbackException: Unable to translate bytes [FF][D8][FF][01] at index 20 from specified code page to Unicode. at System.Text.DecoderExceptionFallbackBuffer.Throw(Byte[] bytesUnknown, Int32 index) at System.Text.DecoderExceptionFallbackBuffer.Fallback(Byte[] bytesUnknown, Int32 index ) at System.Text.DecoderFallbackBuffer.InternalFallback(Byte[] bytes, Byte* pBytes) at System.Text.UTF32Encoding.GetCharCount(Byte* bytes, Int32 count, DecoderNLS baseDeco der) at System.Text.UTF32Encoding.GetString(Byte[] bytes, Int32 index, Int32 count) at Example.PrintDecodedString(Byte[] bytes, Encoding enc) Decoding without error detection: Decoded string: zăǽβ�
示例2: Example
' 导入命名空间
Imports System.Text
Class Example
Public Shared Sub Main()
' The encoding.
Dim enc As New UTF32Encoding()
' Create a string.
Dim s As String =
"This string contains two characters " &
"with codes outside the ASCII code range: " &
"Pi (" & ChrW(&h03A0) & ") and Sigma (" & ChrW(&h03A3) & ")."
Console.WriteLine("Original string:")
Console.WriteLine(" {0}", s)
' Encode the string.
Dim encodedBytes As Byte() = enc.GetBytes(s)
Console.WriteLine()
Console.WriteLine("Encoded bytes:")
For ctr As Integer = 0 To encodedBytes.Length - 1
Console.Write("[{0:X2}]{1}", encodedBytes(ctr),
If((ctr + 1) Mod 4 = 0, " ", "" ))
If (ctr + 1) Mod 16 = 0 Then Console.WriteLine()
Next
Console.WriteLine()
' Decode bytes back to string.
' Notice Pi and Sigma characters are still present.
Dim decodedString As String = enc.GetString(encodedBytes)
Console.WriteLine()
Console.WriteLine("Decoded string:")
Console.WriteLine(" {0}", decodedString)
End Sub
End Class
输出:
Original string: This string contains two characters with codes outside the ASCII code range: Pi (π) and Sigma (Σ). Encoded bytes: [54][00][00][00] [68][00][00][00] [69][00][00][00] [73][00][00][00] [20][00][00][00] [73][00][00][00] [74][00][00][00] [72][00][00][00] [69][00][00][00] [6E][00][00][00] [67][00][00][00] [20][00][00][00] [63][00][00][00] [6F][00][00][00] [6E][00][00][00] [74][00][00][00] [61][00][00][00] [69][00][00][00] [6E][00][00][00] [73][00][00][00] [20][00][00][00] [74][00][00][00] [77][00][00][00] [6F][00][00][00] [20][00][00][00] [63][00][00][00] [68][00][00][00] [61][00][00][00] [72][00][00][00] [61][00][00][00] [63][00][00][00] [74][00][00][00] [65][00][00][00] [72][00][00][00] [73][00][00][00] [20][00][00][00] [77][00][00][00] [69][00][00][00] [74][00][00][00] [68][00][00][00] [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00] [65][00][00][00] [73][00][00][00] [20][00][00][00] [6F][00][00][00] [75][00][00][00] [74][00][00][00] [73][00][00][00] [69][00][00][00] [64][00][00][00] [65][00][00][00] [20][00][00][00] [74][00][00][00] [68][00][00][00] [65][00][00][00] [20][00][00][00] [41][00][00][00] [53][00][00][00] [43][00][00][00] [49][00][00][00] [49][00][00][00] [20][00][00][00] [63][00][00][00] [6F][00][00][00] [64][00][00][00] [65][00][00][00] [20][00][00][00] [72][00][00][00] [61][00][00][00] [6E][00][00][00] [67][00][00][00] [65][00][00][00] [3A][00][00][00] [20][00][00][00] [50][00][00][00] [69][00][00][00] [20][00][00][00] [28][00][00][00] [A0][03][00][00] [29][00][00][00] [20][00][00][00] [61][00][00][00] [6E][00][00][00] [64][00][00][00] [20][00][00][00] [53][00][00][00] [69][00][00][00] [67][00][00][00] [6D][00][00][00] [61][00][00][00] [20][00][00][00] [28][00][00][00] [A3][03][00][00] [29][00][00][00] [2E][00][00][00] Decoded string: This string contains two characters with codes outside the ASCII code range: Pi (π) and Sigma (Σ).
示例3: Example
' 导入命名空间
Imports System.IO
Imports System.Text
Class Example
Public Shared Sub Main()
' Create a UTF-32 encoding that supports a BOM.
Dim enc As New UTF32Encoding()
' A Unicode string with two characters outside an 8-bit code range.
Dim s As String = _
"This Unicode string has 2 characters outside the " &
"ASCII range: " & vbCrLf &
"Pi (" & ChrW(&h03A0) & "), and Sigma (" & ChrW(&h03A3) & ")."
Console.WriteLine("Original string:")
Console.WriteLine(s)
Console.WriteLine()
' Encode the string.
Dim encodedBytes As Byte() = enc.GetBytes(s)
Console.WriteLine("The encoded string has {0} bytes.",
encodedBytes.Length)
Console.WriteLine()
' Write the bytes to a file with a BOM.
Dim fs As New FileStream(".\UTF32Encoding.txt", FileMode.Create)
Dim bom() As Byte = enc.GetPreamble()
fs.Write(bom, 0, bom.Length)
fs.Write(encodedBytes, 0, encodedBytes.Length)
Console.WriteLine("Wrote {0} bytes to the file.", fs.Length)
fs.Close()
Console.WriteLine()
' Open the file using StreamReader.
Dim sr As New StreamReader(".\UTF32Encoding.txt")
Dim newString As String = sr.ReadToEnd()
sr.Close()
Console.WriteLine("String read using StreamReader:")
Console.WriteLine(newString)
Console.WriteLine()
' Open the file as a binary file and decode the bytes back to a string.
fs = new FileStream(".\Utf32Encoding.txt", FileMode.Open)
Dim bytes(fs.Length - 1) As Byte
fs.Read(bytes, 0, fs.Length)
fs.Close()
Dim decodedString As String = enc.GetString(bytes)
Console.WriteLine("Decoded bytes from binary file:")
Console.WriteLine(decodedString)
End Sub
End Class
输出:
Original string: This Unicode string has 2 characters outside the ASCII range: Pi (π), and Sigma (Σ). The encoded string has 344 bytes. Wrote 348 bytes to the file. String read using StreamReader: This Unicode string has 2 characters outside the ASCII range: Pi (π), and Sigma (Σ). Decoded bytes from binary file: This Unicode string has 2 characters outside the ASCII range: Pi (π), and Sigma (Σ).