|
本帖最后由 onthetrip 于 2014-11-25 20:47 编辑
wcymiss 发表于 2014-11-25 10:40
编码是针对文本而言的。因为计算机内部只能储存二进制数据,所以文本要储存在计算机里时,需要按照 ...
吴姐,很感谢您.您的讲解使我茅塞顿开啊,之前我看了无数遍的stream的帮助,怎么也没看懂.现在我的理解是这样的:
(1)strtobyte这个函数中,charset的设置是指定了最终输出的byte按什么形式的编码;这个编码基本可以随便设置;
(2)bytetostr这个函数中,charset的设置不能随便设置,而必须事先知道byte这个原始数据流是什么编码,其设置要跟其一致.- Sub test()
- Dim arr() As Byte
- Dim brr() As Byte
- Dim crr() As Byte
- Dim StrTexta As String
- Dim StrTextb As String
- Dim StrTextc As String
- Const uCode As String = "Unicode"
- Const gCode As String = "GB2312"
- Const utCode As String = "UTF-8"
- Const s As String = "我"
- arr = StrToByte(s, uCode)
- brr = StrConv(s, vbFromUnicode)
- crr = StrConv(s, vbUnicode)
- StrTexta = ByteToStr(arr, uCode)
- StrTextb = ByteToStr(brr, gCode)
- StrTextc = ByteToStr(crr, uCode)
- Stop
- End Sub
复制代码 很感激你这样的高手还能耐心地给我普及这些基础知识.
为啥上面代码中的StrTextc转不回来了呢,这个话题貌似已经偏离这个帖子的主题了:)
|
|