Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb6 vbFromUnicode是什么意思?_Vb6 - Fatal编程技术网

Vb6 vbFromUnicode是什么意思?

Vb6 vbFromUnicode是什么意思?,vb6,Vb6,我正在浏览一些旧的VB6代码,遇到如下语句- TempArray() = StrConv(PassedString, vbFromUnicode) 这意味着什么?它接受一个unicode字符串(VB中的任何字符串都是unicode),并使用非unicode程序的当前系统代码页将其转换为字节数组 如果是单字节代码页,则每个字符将有一个字节(例如英语和西欧1252) 如果是多字节代码页(例如简体中文),则每个字符可能有多个字节 在该代码页中找不到的字符将替换为问号(?)。+1。但在多字节

我正在浏览一些旧的VB6代码,遇到如下语句-

   TempArray() = StrConv(PassedString, vbFromUnicode)
这意味着什么?

它接受一个unicode字符串(VB中的任何字符串都是unicode),并使用非unicode程序的当前系统代码页将其转换为字节数组

  • 如果是单字节代码页,则每个字符将有一个字节(例如英语和西欧1252)
  • 如果是多字节代码页(例如简体中文),则每个字符可能有多个字节

在该代码页中找不到的字符将替换为问号(
)。

+1。但在多字节代码页上,每个字符将有多个字节,例如中文、韩文。@MarkJ无法将其复制为:
Dim b()字节:b=StrConv(ChrW$(&H818A&),vbfromfromunicode):MsgBox UBound(b)-LBound(b)+1
,结果是
1
@MarkJ否,这是从charmap中随机选取的一个中文字符。啊,我现在明白你的意思了。我对你的理解正好相反。不,我从来没有将多字节代码页作为非Unicode程序的语言。也许你是对的。不是VB6中的所有字符串都是Unicode。这就是为什么我们有LeftB$()、AscB()等函数。但是,如果有人问“vbFromUnicode是什么意思”这样的基本问题,我们可能不需要去那里。@GSerg一点也不正确。在VB6字符串中创建和使用8位ANSI、ASCII或任何您希望的编码是完全可能的。Unicode正是您通常看到的使用默认操作的情况,这使得它更加流行。“B”函数用于对这样的8位字符串值进行操作,其中许多函数甚至可以对字节数组进行操作。