zoukankan      html  css  js  c++  java
  • VBS字符串在不同编码之间的转换

    vbscript, vbs 字符串在不同编码之间的转换,包括 ISO-8859-1,UTF-8,GBK,GB2312,GB18030之间的转换.

    Const adTypeBinary = 1
    Const adTypeText = 2
    
    ' accept a string and convert it to Bytes array in the selected Charset
    Function StringToBytes(Str,Charset)
      Dim Stream : Set Stream = CreateObject("ADODB.Stream")
      Stream.Type = adTypeText
      Stream.Charset = Charset
      Stream.Open
      Stream.WriteText Str
      Stream.Flush
      Stream.Position = 0
      ' rewind stream and read Bytes
      Stream.Type = adTypeBinary
      StringToBytes= Stream.Read
      Stream.Close
      Set Stream = Nothing
    End Function
    
    ' accept Bytes array and convert it to a string using the selected charset
    Function BytesToString(Bytes, Charset)
      Dim Stream : Set Stream = CreateObject("ADODB.Stream")
      Stream.Charset = Charset
      Stream.Type = adTypeBinary
      Stream.Open
      Stream.Write Bytes
      Stream.Flush
      Stream.Position = 0
      ' rewind stream and read text
      Stream.Type = adTypeText
      BytesToString= Stream.ReadText
      Stream.Close
      Set Stream = Nothing
    End Function
    
    ' This will alter charset of a string from 1-byte charset(as windows-1252)
    ' to another 1-byte charset(as windows-1251)
    Function AlterCharset(Str, FromCharset, ToCharset)
      Dim Bytes
      Bytes = StringToBytes(Str, FromCharset)
      AlterCharset = BytesToString(Bytes, ToCharset)
    End Function

    使用例子:

    dim s1,s2,FromCharset,ToCharset
    s1 = "我的字符串"
    FromCharset = "GB2312"
    ToCharset = "ISO-8859-1"
    s2 = AlterCharset(s1,FromCharset,ToCharset)
    

      

  • 相关阅读:
    Linux常用命令--清屏
    [LeetCode]Remove Duplicates from Sorted Array
    [LeetCode]Combinations
    [LeetCode]Search in Rotated Sorted Array II
    [LeetCode]Binary Tree Level Order Traversal II
    [LeetCode]Binary Tree Level Order Traversal
    [LeetCode]H-Index II
    [LeetCode]H-Index
    [LeetCode]Symmetric Tree
    [LeetCode]Remove Element
  • 原文地址:https://www.cnblogs.com/equation/p/15234294.html
Copyright © 2011-2022 走看看