【VB】StrConv函數 vbUnicode用法


【VB】StrConv函數

StrConv(string, conversion, LCID)

vbUnicode

64

根據系統的缺省碼頁將字符串轉成Unicode。

vbFromUnicode

128

將字符串由 Unicode 轉成系統的缺省碼頁。

    Windows系統對字符采用了DBCS編碼,它是一套單字節和雙字節的混合編碼,即西文與ASCII編碼一樣,是單字節;中文則以兩字節編碼。

    而StrConv()函數的作用就是作為Unicode與DBCS之間的轉換。

bytes_Ansi()=StrConv("a啊b",vbFromUnicode)         '61 B0 A1 62 

    就是將Unicode碼(VB缺省String類型)"a啊b"字符串轉為DBCS碼(轉換成Ansi編碼的串)

String1=StrConv(Bytes_Ansi(),vbUnicode)         '61 0 4A 55 62 0

    將DBCS(即Ansi格式的數組)轉為Unicode字符串(String)。

    轉換過程可以用LenB函數進行驗證

    由於VB中字符串均用二字節的Unicode表示,在進行文本文件讀寫時,會自動將String轉換為合適的系統DBCS編碼,無需專門的轉換,但在Open語句Binary讀寫時,作者需先轉換好。如在讀寫UTF8編碼格式的文本文件時,必須使用Binary格式來讀寫。而一般的Unicode格式和Ansi格式文件,則不需要。

    而通常的Bytes()與String間轉換可直接賦值,應為

Dim bytes() as Byte,Str1 as string

str1="a啊b"     或 bytes=str1亦可

 bytes=str1 即'61 0 4A 55 62 0,自動完成了轉換

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM