當前位置: 首頁>>代碼示例>>VB.NET>>正文


VB.NET UTF32Encoding類代碼示例

本文整理匯總了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
開發者ID:VB.NET開發者,項目名稱:System.Text,代碼行數:48,代碼來源:UTF32Encoding

輸出:

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
開發者ID:VB.NET開發者,項目名稱:System.Text,代碼行數:35,代碼來源:UTF32Encoding

輸出:

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
開發者ID:VB.NET開發者,項目名稱:System.Text,代碼行數:52,代碼來源:UTF32Encoding

輸出:

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 (Σ).


注:本文中的System.Text.UTF32Encoding類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。