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