📄 gb2312-unicode对照表.txt
字号:
UNICODE<->GB2312 对照表 for C 程序(见附件)
部分C程序:
#ifndef USG_TYPE
# define USG_TYPE
typedef unsigned char USGC;
typedef unsigned short USGS;
typedef unsigned int USGI;
typedef unsigned long USGL;
#endif
#ifndef YES
# define YES 1
# define NO 0
#endif
#ifndef TRUE
# define TRUE 1
# define FALSE 0
#endif
#ifndef ON
# define ON 1
# define OFF 0
#endif
#ifndef NUL
# define NUL '\0'
#endif
/* ------------------------------------------------------------------------- */
USGI Word_Unicode2GBcode(USGI Unicode)
/*
查表将一个 UNICODE 码转换为 GB 码并返回,若找不到则返回 0
M.L.Y 2002.4
*/
{
int i, n = sizeof(GB2312_Unicode)/sizeof(GB2312_Unicode[0]);
for(i = 0; i < n; i++)
if(GB2312_Unicode[i][1] == Unicode) return GB2312_Unicode[i][0];
return 0;
}
/* ------------------------------------------------------------------------- */
int cvt_Unicode2GB(USGC *strfrom, USGC *strto)
/*
将 UNICODE 码字符串转换为 GB 码字符串,返回转换的汉字数
M.L.Y 2002.4
*/
{
int i, j, k, n, conv;
USGI w;
USGL code_val;
int stat = 0; /* 0: ASCII, 1: #XX, 2: hanzi */
for(i = 0, j = 0, n = 0; ; )
{
conv = NO;
if(strfrom[i] == '#' && strfrom[i+1] >= '0' && strfrom[i+1] <= '9')
{
code_val = 0L;
for(k = 1; ; k++)
{
if(strfrom[i+k] >= '0' && strfrom[i+k] <= '9')
code_val = code_val * 10 + strfrom[i+k] - '0';
else break;
}
if(k <= 6 && code_val <= 0xFFFF && code_val >= 128)
{
w = Word_Unicode2GBcode(code_val);
if(w > 0)
{
conv = YES;
if(stat != 2) strto[j++] = '\'';
stat = 2;
strto[j++] = (w & 0xFF00) >> 8;
strto[j++] = w & 0x00FF;
n++;
i = i + k;
}
}
}
if(conv != YES)
{
if(stat == 2)
{
stat = 0;
strto[j++] = '\'';
}
strto[j++] = strfrom[i];
if(strfrom[i] == NUL) break;
i++;
}
}
for(i = 0, j = 0, k = 0; ; )
{
if(strto[i] == '\'' && strto[i+1] == '\'')
i++; /* 去掉连续的两个单引号 */
else strto[j++] = strto[i];
if(strto[i] == NUL) break;
i++;
}
return n;
}
欢迎批评指正!
unsigned int GB2312_Unicode[][2] =
{
0xA1A1, 0x3000, /* ' ' -> 12288 */
0xA1A2, 0x3001, /* '、' -> 12289 */
0xA1A3, 0x3002, /* '。' -> 12290 */
0xA1A4, 0x30FB, /* '·' -> 12539 */
0xA1A5, 0x02C9, /* 'ˉ' -> 713 */
0xA1A6, 0x02C7, /* 'ˇ' -> 711 */
0xA1A7, 0x00A8, /* '¨' -> 168 */
0xA1A8, 0x3003, /* '〃' -> 12291 */
0xA1A9, 0x3005, /* '々' -> 12293 */
0xA1AA, 0x2015, /* '—' -> 8213 */
0xA1AB, 0xFF5E, /* '~' -> 65374 */
0xA1AC, 0x2016, /* '‖' -> 8214 */
0xA1AD, 0x2026, /* '…' -> 8230 */
0xA1AE, 0x2018, /* '‘' -> 8216 */
0xA1AF, 0x2019, /* '’' -> 8217 */
0xA1B0, 0x201C, /* '“' -> 8220 */
0xA1B1, 0x201D, /* '”' -> 8221 */
0xA1B2, 0x3014, /* '〔' -> 12308 */
0xA1B3, 0x3015, /* '〕' -> 12309 */
0xA1B4, 0x3008, /* '〈' -> 12296 */
0xA1B5, 0x3009, /* '〉' -> 12297 */
0xA1B6, 0x300A, /* '《' -> 12298 */
0xA1B7, 0x300B, /* '》' -> 12299 */
0xA1B8, 0x300C, /* '「' -> 12300 */
0xA1B9, 0x300D, /* '」' -> 12301 */
0xA1BA, 0x300E, /* '『' -> 12302 */
0xA1BB, 0x300F, /* '』' -> 12303 */
0xA1BC, 0x3016, /* '〖' -> 12310 */
0xA1BD, 0x3017, /* '〗' -> 12311 */
0xA1BE, 0x3010, /* '【' -> 12304 */
0xA1BF, 0x3011, /* '】' -> 12305 */
0xA1C0, 0x00B1, /* '±' -> 177 */
0xA1C1, 0x00D7, /* '×' -> 215 */
0xA1C2, 0x00F7, /* '÷' -> 247 */
0xA1C3, 0x2236, /* '∶' -> 8758 */
0xA1C4, 0x2227, /* '∧' -> 8743 */
0xA1C5, 0x2228, /* '∨' -> 8744 */
0xA1C6, 0x2211, /* '∑' -> 8721 */
0xA1C7, 0x220F, /* '∏' -> 8719 */
0xA1C8, 0x222A, /* '∪' -> 8746 */
0xA1C9, 0x2229, /* '∩' -> 8745 */
0xA1CA, 0x2208, /* '∈' -> 8712 */
0xA1CB, 0x2237, /* '∷' -> 8759 */
0xA1CC, 0x221A, /* '√' -> 8730 */
0xA1CD, 0x22A5, /* '⊥' -> 8869 */
0xA1CE, 0x2225, /* '∥' -> 8741 */
0xA1CF, 0x2220, /* '∠' -> 8736 */
0xA1D0, 0x2312, /* '⌒' -> 8978 */
0xA1D1, 0x2299, /* '⊙' -> 8857 */
0xA1D2, 0x222B, /* '∫' -> 8747 */
0xA1D3, 0x222E, /* '∮' -> 8750 */
0xA1D4, 0x2261, /* '≡' -> 8801 */
0xA1D5, 0x224C, /* '≌' -> 8780 */
0xA1D6, 0x2248, /* '≈' -> 8776 */
0xA1D7, 0x223D, /* '∽' -> 8765 */
0xA1D8, 0x221D, /* '∝' -> 8733 */
0xA1D9, 0x2260, /* '≠' -> 8800 */
0xA1DA, 0x226E, /* '≮' -> 8814 */
0xA1DB, 0x226F, /* '≯' -> 8815 */
0xA1DC, 0x2264, /* '≤' -> 8804 */
0xA1DD, 0x2265, /* '≥' -> 8805 */
0xA1DE, 0x221E, /* '∞' -> 8734 */
0xA1DF, 0x2235, /* '∵' -> 8757 */
0xA1E0, 0x2234, /* '∴' -> 8756 */
0xA1E1, 0x2642, /* '♂' -> 9794 */
0xA1E2, 0x2640, /* '♀' -> 9792 */
0xA1E3, 0x00B0, /* '°' -> 176 */
0xA1E4, 0x2032, /* '′' -> 8242 */
0xA1E5, 0x2033, /* '″' -> 8243 */
0xA1E6, 0x2103, /* '℃' -> 8451 */
0xA1E7, 0xFF04, /* '$' -> 65284 */
0xA1E8, 0x00A4, /* '¤' -> 164 */
0xA1E9, 0xFFE0, /* '¢' -> 65504 */
0xA1EA, 0xFFE1, /* '£' -> 65505 */
0xA1EB, 0x2030, /* '‰' -> 8240 */
0xA1EC, 0x00A7, /* '§' -> 167 */
0xA1ED, 0x2116, /* '№' -> 8470 */
0xA1EE, 0x2606, /* '☆' -> 9734 */
0xA1EF, 0x2605, /* '★' -> 9733 */
0xA1F0, 0x25CB, /* '○' -> 9675 */
0xA1F1, 0x25CF, /* '●' -> 9679 */
0xA1F2, 0x25CE, /* '◎' -> 9678 */
0xA1F3, 0x25C7, /* '◇' -> 9671 */
0xA1F4, 0x25C6, /* '◆' -> 9670 */
0xA1F5, 0x25A1, /* '□' -> 9633 */
0xA1F6, 0x25A0, /* '■' -> 9632 */
0xA1F7, 0x25B3, /* '△' -> 9651 */
0xA1F8, 0x25B2, /* '▲' -> 9650 */
0xA1F9, 0x203B, /* '※' -> 8251 */
0xA1FA, 0x2192, /* '→' -> 8594 */
0xA1FB, 0x2190, /* '←' -> 8592 */
0xA1FC, 0x2191, /* '↑' -> 8593 */
0xA1FD, 0x2193, /* '↓' -> 8595 */
0xA1FE, 0x3013, /* '〓' -> 12307 */
0xA2B1, 0x2488, /* '⒈' -> 9352 */
0xA2B2, 0x2489, /* '⒉' -> 9353 */
0xA2B3, 0x248A, /* '⒊' -> 9354 */
0xA2B4, 0x248B, /* '⒋' -> 9355 */
0xA2B5, 0x248C, /* '⒌' -> 9356 */
0xA2B6, 0x248D, /* '⒍' -> 9357 */
0xA2B7, 0x248E, /* '⒎' -> 9358 */
0xA2B8, 0x248F, /* '⒏' -> 9359 */
0xA2B9, 0x2490, /* '⒐' -> 9360 */
0xA2BA, 0x2491, /* '⒑' -> 9361 */
0xA2BB, 0x2492, /* '⒒' -> 9362 */
0xA2BC, 0x2493, /* '⒓' -> 9363 */
0xA2BD, 0x2494, /* '⒔' -> 9364 */
0xA2BE, 0x2495, /* '⒕' -> 9365 */
0xA2BF, 0x2496, /* '⒖' -> 9366 */
0xA2C0, 0x2497, /* '⒗' -> 9367 */
0xA2C1, 0x2498, /* '⒘' -> 9368 */
0xA2C2, 0x2499, /* '⒙' -> 9369 */
0xA2C3, 0x249A, /* '⒚' -> 9370 */
0xA2C4, 0x249B, /* '⒛' -> 9371 */
0xA2C5, 0x2474, /* '⑴' -> 9332 */
0xA2C6, 0x2475, /* '⑵' -> 9333 */
0xA2C7, 0x2476, /* '⑶' -> 9334 */
0xA2C8, 0x2477, /* '⑷' -> 9335 */
0xA2C9, 0x2478, /* '⑸' -> 9336 */
0xA2CA, 0x2479, /* '⑹' -> 9337 */
0xA2CB, 0x247A, /* '⑺' -> 9338 */
0xA2CC, 0x247B, /* '⑻' -> 9339 */
0xA2CD, 0x247C, /* '⑼' -> 9340 */
0xA2CE, 0x247D, /* '⑽' -> 9341 */
0xA2CF, 0x247E, /* '⑾' -> 9342 */
0xA2D0, 0x247F, /* '⑿' -> 9343 */
0xA2D1, 0x2480, /* '⒀' -> 9344 */
0xA2D2, 0x2481, /* '⒁' -> 9345 */
0xA2D3, 0x2482, /* '⒂' -> 9346 */
0xA2D4, 0x2483, /* '⒃' -> 9347 */
0xA2D5, 0x2484, /* '⒄' -> 9348 */
0xA2D6, 0x2485, /* '⒅' -> 9349 */
0xA2D7, 0x2486, /* '⒆' -> 9350 */
0xA2D8, 0x2487, /* '⒇' -> 9351 */
0xA2D9, 0x2460, /* '①' -> 9312 */
0xA2DA, 0x2461, /* '②' -> 9313 */
0xA2DB, 0x2462, /* '③' -> 9314 */
0xA2DC, 0x2463, /* '④' -> 9315 */
0xA2DD, 0x2464, /* '⑤' -> 9316 */
0xA2DE, 0x2465, /* '⑥' -> 9317 */
0xA2DF, 0x2466, /* '⑦' -> 9318 */
0xA2E0, 0x2467, /* '⑧' -> 9319 */
0xA2E1, 0x2468, /* '⑨' -> 9320 */
0xA2E2, 0x2469, /* '⑩' -> 9321 */
0xA2E5, 0x3220, /* '㈠' -> 12832 */
0xA2E6, 0x3221, /* '㈡' -> 12833 */
0xA2E7, 0x3222, /* '㈢' -> 12834 */
0xA2E8, 0x3223, /* '㈣' -> 12835 */
0xA2E9, 0x3224, /* '㈤' -> 12836 */
0xA2EA, 0x3225, /* '㈥' -> 12837 */
0xA2EB, 0x3226, /* '㈦' -> 12838 */
0xA2EC, 0x3227, /* '㈧' -> 12839 */
0xA2ED, 0x3228, /* '㈨' -> 12840 */
0xA2EE, 0x3229, /* '㈩' -> 12841 */
0xA2F1, 0x2160, /* 'Ⅰ' -> 8544 */
0xA2F2, 0x2161, /* 'Ⅱ' -> 8545 */
0xA2F3, 0x2162, /* 'Ⅲ' -> 8546 */
0xA2F4, 0x2163, /* 'Ⅳ' -> 8547 */
0xA2F5, 0x2164, /* 'Ⅴ' -> 8548 */
0xA2F6, 0x2165, /* 'Ⅵ' -> 8549 */
0xA2F7, 0x2166, /* 'Ⅶ' -> 8550 */
0xA2F8, 0x2167, /* 'Ⅷ' -> 8551 */
0xA2F9, 0x2168, /* 'Ⅸ' -> 8552 */
0xA2FA, 0x2169, /* 'Ⅹ' -> 8553 */
0xA2FB, 0x216A, /* 'Ⅺ' -> 8554 */
0xA2FC, 0x216B, /* 'Ⅻ' -> 8555 */
0xA3A1, 0xFF01, /* '!' -> 65281 */
0xA3A2, 0xFF02, /* '"' -> 65282 */
0xA3A3, 0xFF03, /* '#' -> 65283 */
0xA3A4, 0xFFE5, /* '¥' -> 65509 */
0xA3A5, 0xFF05, /* '%' -> 65285 */
0xA3A6, 0xFF06, /* '&' -> 65286 */
0xA3A7, 0xFF07, /* ''' -> 65287 */
0xA3A8, 0xFF08, /* '(' -> 65288 */
0xA3A9, 0xFF09, /* ')' -> 65289 */
0xA3AA, 0xFF0A, /* '*' -> 65290 */
0xA3AB, 0xFF0B, /* '+' -> 65291 */
0xA3AC, 0xFF0C, /* ',' -> 65292 */
0xA3AD, 0xFF0D, /* '-' -> 65293 */
0xA3AE, 0xFF0E, /* '.' -> 65294 */
0xA3AF, 0xFF0F, /* '/' -> 65295 */
0xA3B0, 0xFF10, /* '0' -> 65296 */
0xA3B1, 0xFF11, /* '1' -> 65297 */
0xA3B2, 0xFF12, /* '2' -> 65298 */
0xA3B3, 0xFF13, /* '3' -> 65299 */
0xA3B4, 0xFF14, /* '4' -> 65300 */
0xA3B5, 0xFF15, /* '5' -> 65301 */
0xA3B6, 0xFF16, /* '6' -> 65302 */
0xA3B7, 0xFF17, /* '7' -> 65303 */
0xA3B8, 0xFF18, /* '8' -> 65304 */
0xA3B9, 0xFF19, /* '9' -> 65305 */
0xA3BA, 0xFF1A, /* ':' -> 65306 */
0xA3BB, 0xFF1B, /* ';' -> 65307 */
0xA3BC, 0xFF1C, /* '<' -> 65308 */
0xA3BD, 0xFF1D, /* '=' -> 65309 */
0xA3BE, 0xFF1E, /* '>' -> 65310 */
0xA3BF, 0xFF1F, /* '?' -> 65311 */
0xA3C0, 0xFF20, /* '@' -> 65312 */
0xA3C1, 0xFF21, /* 'A' -> 65313 */
0xA3C2, 0xFF22, /* 'B' -> 65314 */
0xA3C3, 0xFF23, /* 'C' -> 65315 */
0xA3C4, 0xFF24, /* 'D' -> 65316 */
0xA3C5, 0xFF25, /* 'E' -> 65317 */
0xA3C6, 0xFF26, /* 'F' -> 65318 */
0xA3C7, 0xFF27, /* 'G' -> 65319 */
0xA3C8, 0xFF28, /* 'H' -> 65320 */
0xA3C9, 0xFF29, /* 'I' -> 65321 */
0xA3CA, 0xFF2A, /* 'J' -> 65322 */
0xA3CB, 0xFF2B, /* 'K' -> 65323 */
0xA3CC, 0xFF2C, /* 'L' -> 65324 */
0xA3CD, 0xFF2D, /* 'M' -> 65325 */
0xA3CE, 0xFF2E, /* 'N' -> 65326 */
0xA3CF, 0xFF2F, /* 'O' -> 65327 */
0xA3D0, 0xFF30, /* 'P' -> 65328 */
0xA3D1, 0xFF31, /* 'Q' -> 65329 */
0xA3D2, 0xFF32, /* 'R' -> 65330 */
0xA3D3, 0xFF33, /* 'S' -> 65331 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -