当前位置: 首页>>代码示例>>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;未经允许,请勿转载。