VB中StrConv(Text1.Text, vbFromUnicode)是什么意思?
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
返回按指定類型轉(zhuǎn)換的 Variant (String)。
語法 StrConv(string, conversion, LCID) StrConv 函數(shù)的語法有下面的命名參數(shù): 部分 說明 string 必要參數(shù)。要轉(zhuǎn)換的字符串表達(dá)式。 conversion 必要參數(shù)。Integer。其值的和決定轉(zhuǎn)換的類型。 LCID 可選的。如果與系統(tǒng)LocaleID不同,則為LocaleID(系統(tǒng)LocaleID為缺省值。) 設(shè)置值 conversion 參數(shù)的設(shè)置值為: 常數(shù) 值 說明 vbUpperCase 1 將字符串文字轉(zhuǎn)成大寫。 vbLowerCase 2 將字符串文字轉(zhuǎn)成小寫。 vbProperCase 3 將字符串中每個字的開頭字母轉(zhuǎn)成大寫。 vbWide* 4* 將字符串中單字節(jié)字符轉(zhuǎn)成雙字節(jié)字符。 vbNarrow* 8* 將字符串中雙字節(jié)字符轉(zhuǎn)成單字節(jié)字符。 vbKatakana** 16** 將字符串中平假名字符轉(zhuǎn)成片假名字符。 vbHiragana** 32** 將字符串中片假名字符轉(zhuǎn)成平假名字符。 vbUnicode 64 根據(jù)系統(tǒng)的缺省碼頁將字符串轉(zhuǎn)成 Unicode。 vbFromUnicode 128 將字符串由 Unicode 轉(zhuǎn)成系統(tǒng)的缺省碼頁。 *應(yīng)用到遠(yuǎn)東國別。**僅應(yīng)用到日本。 注意 這些常數(shù)是由 VBA 指定的??梢栽诔绦蛑惺褂盟鼈儊硖鎿Q真正的值。其中大部分是可以組合的,例如 vbUpperCase + vbWide,互斥的常數(shù)不能組合,例如 vbUnicode + vbFromUnicode。當(dāng)在不適用的國別使用常數(shù) vbWide、vbNarrow、vbKatakana,和 vbHiragana 時,就會導(dǎo)致運(yùn)行時錯誤。 下面是一些一般情況下的有效分界符:Null (Chr$(0)),水平制表符 (Chr$(9)),換行 (Chr$(10)),垂直制表符 (Chr$(11)),換頁 (Chr$(12)) ,回車 (Chr$(13)),空白 (SBCS) (Chr$(32))。在 DBCS中,空白的實際值會隨國家/地區(qū)而不同。 說明 在把 ANSI 格式的 Byte 數(shù)組轉(zhuǎn)換為字符串時,您應(yīng)該使用 StrConv 函數(shù)。當(dāng)您轉(zhuǎn)換 Unicode 格式的這種數(shù)組時,使用賦值語句。 常數(shù) 值 說明 vbUpperCase 1 將字符串文字轉(zhuǎn)成大寫。 s = StrConv("AbCdef", 1) 's = "ABCDEF" vbLowerCase 2 將字符串文字轉(zhuǎn)成小寫。 s = StrConv("AbCdef", 2) 's = "abcdef" vbProperCase 3 將字符串中每個字的開頭字母轉(zhuǎn)成大寫。 s = StrConv("ni hao", 3) 's = "Ni Hao" 每個字的開頭 = 前面有空格,與是不是單詞無關(guān) s = StrConv("nihao", 3) 's = "Nihao" vbWide* 4* 將字符串中單字節(jié)字符轉(zhuǎn)成雙字節(jié)字符。 s = StrConv("Ab123你好", 4) 's = "Ab123你好" (瘦子變胖子,對中文無效) vbNarrow* 8* 將字符串中雙字節(jié)字符轉(zhuǎn)成單字節(jié)字符。 s = StrConv("Ab123你好", 8) 's = "Ab123你好" (胖子變減肥,對中文無效) vbKatakana** 16** 將字符串中平假名字符轉(zhuǎn)成片假名字符。 小鬼子用的 vbHiragana** 32** 將字符串中片假名字符轉(zhuǎn)成平假名字符。 小鬼子用的 vbUnicode 64 根據(jù)系統(tǒng)的缺省碼頁將字符串轉(zhuǎn)成 Unicode。 對概念不太明白,暫時這樣理解: Unicode = 在內(nèi)存里的表現(xiàn)方式(2進(jìn)制? 而系統(tǒng)的缺省碼頁 = 我們所看到的 s = StrConv("你好", 64) 's = "`O}Y" vbFromUnicode 128 將字符串由 Unicode 轉(zhuǎn)成系統(tǒng)的缺省碼頁。 應(yīng)用案例:處理二進(jìn)制數(shù)組與字符串比較時用 s = StrConv("`O}Y", 128) 's = "你好" 對于 64、128 的理解不一定正確,但在處理程序間的數(shù)據(jù)交換時是很有用的,比如用 open 語句打開文本文件。說的比較籠統(tǒng),只有在接觸后才容易體會。 備注:“*”應(yīng)用到遠(yuǎn)東國別,“**”僅應(yīng)用到日本。 注意: 這些常數(shù)是由 VBA 指定的??梢栽诔绦蛑惺褂盟鼈儊硖鎿Q真正的值。 其中大部分是可以組合的,例如 vbUpperCase + vbWide,互斥的常數(shù)不能組合,例如 vbUnicode + vbFromUnicode。 當(dāng)在不適用的國別使用常數(shù) vbWide、vbNarrow、vbKatakana,和 vbHiragana 時,就會導(dǎo)致運(yùn)行時錯誤。 下面是一些一般情況下的有效分界符: Null (Chr$(0)) 水平制表符 (Chr$(9)) 換行 (Chr$(10)) 垂直制表符 (Chr$(11)) 換頁 (Chr$(12)) 回車 (Chr$(13)) 空白 (SBCS) (Chr$(32))。在 DBCS中,空白的實際值會隨國家/地區(qū)而不同。 說明: 在把 ANSI 格式的 Byte 數(shù)組轉(zhuǎn)換為字符串時,您應(yīng)該使用 StrConv 函數(shù)。當(dāng)您轉(zhuǎn)換 Unicode 格式的這種數(shù)組時,使用賦值語句。 StrConv 函數(shù)示例: 本示例使用 StrConv 函數(shù)來將 Unicode 字符串轉(zhuǎn)換成 ANSI 字符串。 Dim i As Long Dim x() As Byte x = StrConv("ABCDEFG", vbFromUnicode) ' 轉(zhuǎn)換字符串。 For i = 0 To UBound(x) Debug.Print x(i) Next 該文章在 2014/3/25 0:12:22 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |