• 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)
    

      

  • 相关阅读:
    java 23种设计模式及具体例子 收藏有时间慢慢看
    java中的内存一般分成几部分?
    深入浅出Java垃圾回收机制
    HashMap、HashTable、LinkedHashMap和TreeMap用法和区别
    java 序列化与反序列化
    JAVA中int、String的类型相互转换
    java IO和NIO 的区别
    数据库设计
    服务器硬件优化
    系统配置优化
  • 原文地址:https://www.cnblogs.com/equation/p/15234294.html
Copyright © 2020-2023  润新知