modStrTools 函式庫 |
風禹科技驗證有限公司 網站 提供 .Net 原始碼 |
說明
將在 Unicode 下的 ANSI 字串轉成 Unicode 字串
本函數之引數列表
引數 |
型態 |
位元組 |
選項 |
預設值 |
說明 |
strANSI |
String |
- |
必須 |
(無) |
採用 ANSI 編碼的 Unicode 字串 |
CodePageFlags |
enuStandardCodePages |
4 |
可省略 |
SCP_CP_ACP |
欲轉換字串之編碼旗標,預設值為系統預設編碼,亦即控制台中地區選項所選擇的地區預設編碼,若要轉換不同地區的編碼請強制指定,例如在英文 Windows 下轉換繁中時,請指定為 big5 。旗標參數如下:
常數名 |
數值 |
說明 |
SCP_CP_ACP |
0 |
預設為 ANSI 字碼頁 |
SCP_CP_OEMCP |
1 |
預設為 OEM 字碼頁 |
SCP_CP_MACCP |
2 |
|
SCP_CP_THREAD_ACP |
3 |
目前執行緒的 ANSI 字碼頁 |
SCP_CP_SYMBO |
42 |
SYMBOL 轉譯 |
SCP_ibm852 |
852 |
Central European (DOS) |
SCP_ibm866 |
866 |
Cyrillic (DOS) |
SCP_windows_874 |
874 |
Thai |
SCP_Japanese |
932 |
日文 |
SCP_cseucpkdfmtjapanese |
932 |
Japanese (EUC) |
SCP_csiso2022jp |
932 |
Japanese (JIS_Allow 1 byte Kana) |
SCP_csshiftjis |
932 |
Shift_JIS |
SCP_extended_unix_code_... |
932 |
Japanese (EUC) |
SCP_iso_2022_jp |
932 |
Japanese (JIS) |
SCP_ms_kanji |
932 |
Shift_JIS |
SCP_shift_jis |
932 |
Shift_JIS |
SCP_x_euc |
932 |
Japanese (EUC) |
SCP_x_euc_jp |
932 |
Japanese (EUC) |
SCP_x_sjis |
932 |
Shift_JIS |
SCP_chinese |
936 |
簡體中文 |
SCP_csgb2312 |
936 |
Chinese Simplified (GB2312) |
SCP_csiso58gb231280 |
936 |
Chinese Simplified (GB2312) |
SCP_gb_2312_80 |
936 |
Chinese Simplified (GB2312) |
SCP_gb2312 |
936 |
Chinese Simplified (GB2312) |
SCP_hz_gb_2312 |
936 |
Chinese Simplified (HZ) |
SCP_iso_ir_58 |
936 |
Chinese Simplified (GB2312) |
SCP_cseuckr |
949 |
Korean |
SCP_csksc56011987 |
949 |
Korean |
SCP_euc_kr |
949 |
Korean |
SCP_iso_ir_149 |
949 |
Korean |
SCP_korean |
949 |
韓文 |
SCP_ks_c_5601 |
949 |
Korean |
SCP_ks_c_5601_1987 |
949 |
Korean |
SCP_ks_c_5601_1989 |
949 |
Korean |
SCP_ksc_5601 |
949 |
Korean |
SCP_ksc5601 |
949 |
Korean |
SCP_big5 |
950 |
繁體中文 (BIG5) |
SCP_csbig5 |
950 |
繁體中文 (BIG5) |
SCP_x_x_big5 |
950 |
繁體中文 (BIG5) |
SCP_CP_Default_Windows |
1200 |
Windows |
SCP_CP_Little_Endian_Unicode |
1200 |
Windows |
SCP_CP_UTF_16LE |
1200 |
Windows |
SCP_CP_Big_Endian_Unicode |
1201 |
|
SCP_CP_UTF_16BE |
1201 |
|
SCP_windows_1250 |
1250 |
Central European (Windows) |
SCP_x_cp1250 |
1250 |
Central European (Windows) |
SCP_windows_1251 |
1251 |
Cyrillic (Windows) |
SCP_x_cp1251 |
1251 |
Cyrillic (Windows) |
SCP_ansi_x3_4_1968 |
1252 |
Western |
SCP_ansi_x3_4_1986 |
1252 |
Western |
SCP_ascii |
1252 |
Western |
SCP_cp367 |
1252 |
Western |
SCP_cp819 |
1252 |
Western |
SCP_csascii |
1252 |
Western |
SCP_ibm367 |
1252 |
Western |
SCP_ibm819 |
1252 |
Western |
SCP_iso_646_irv_1991 |
1252 |
Western |
SCP_iso_8859_1 |
1252 |
Western |
SCP_iso_8859_1_1987 |
1252 |
Western |
SCP_iso_ir_100 |
1252 |
Western |
SCP_iso_ir_6 |
1252 |
Western |
SCP_iso646_us |
1252 |
Western |
SCP_iso8859_1 |
1252 |
Western |
SCP_latin1 |
1252 |
Western |
SCP_us |
1252 |
Western |
SCP_us_ascii |
1252 |
Western |
SCP_windows_1252 |
1252 |
Western |
SCP_windows_1253 |
1253 |
Greek (Windows) |
SCP_windows_1254 |
1254 |
Turkish (Windows) |
SCP_csisolatinhebrew |
1255 |
Hebrew (ISO_Visual) |
SCP_hebrew |
1255 |
Hebrew |
SCP_iso_8859_8 |
1255 |
Hebrew (ISO_Visual) |
SCP_iso_8859_8_1988 |
1255 |
Hebrew (ISO_Visual) |
SCP_iso_ir_138 |
1255 |
Hebrew (ISO_Visual) |
SCP_windows_1255 |
1255 |
Hebrew |
SCP_windows_1256 |
1256 |
Arabic |
SCP_windows_1257 |
1257 |
Baltic (Windows) |
SCP_windows_1258 |
1258 |
Vietnamese |
SCP_CP_ASCII |
20127 |
|
SCP_cskoi8r |
20866 |
Cyrillic (KOI8_R) |
SCP_koi8_r |
20866 |
Cyrillic (KOI8_R) |
SCP_csisolatin2 |
28592 |
Central European (ISO) |
SCP_iso_8859_2 |
28592 |
Central European (ISO) |
SCP_iso_8859_2_1987 |
28592 |
Central European (ISO) |
SCP_iso_ir_101 |
28592 |
Central European (ISO) |
SCP_iso8859_2 |
28592 |
Central European (ISO) |
SCP_l2 |
28592 |
Central European (ISO) |
SCP_latin2 |
28592 |
Central European (ISO) |
SCP_csiso2022kr |
50225 |
Korean (ISO) |
SCP_iso_2022_kr |
50225 |
Korean (ISO) |
SCP_CP_GB18030 |
54936 |
簡體中文 |
SCP_CP_UTF7 |
65000 |
Unicode (UTF_7) |
SCP_CP_UTF8 |
65001 |
Unicode (UTF_8) |
|
傳回值
傳回字串
範例
Dim strANSI As String = "§f????"
Debug.WriteLine(StringANSItoUnicode(strANSI))
更進一步
此函數對象為在 .Net 是 ANSI 的字串。
以範例字串為例,此字串 Unicode 的 16 進位值為:A7006600A500C300A500CD00,但是實際上應該去掉所有的 00 變成 A766A5C3A5CD,而這個編碼應為 ANSI ,台灣地區為 big5、中國為 GB1212 等,所以最後尚需做一次轉碼動作,其他情況不見得適用此函數。
轉換回 .Net 字串其 Unicode 16 進位值為:4254386C1F75。
基本條件
Visual Studio .Net 2002 以後相容版本 | StrTools.vb
請參閱
modStrTools 函式庫