"); //-->
АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщыьэюяёъ
(俄文866编码,用一个字节表示,在WORD中用西里尔文(DOS))
80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 eb ec ed ee ef f1 ea
(ANSI编码,用两个字节表示,高字节全是A7,此处只写出低字节)
a1 a2 a3 a4 a5 a6 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bd be bf c0 c1 d1 d2 d3 d4 d5 d6 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ed ee ef f0 f1 d7 ec
除几个特别的字母外,ANSI编码的低字节都可以用866编码的字节加上一个偏移量来得到,下面是一个简单的C语言实现:
unsigned char ru2ansi(unsigned char rch)
{
if(rch >= 0x80 && rch <= 0x85)
return(rch + 0x21);
else if(rch >= 0x86 && rch <= 0x9f)
return(rch + 0x22);
else if(rch >= 0xa0 && rch <= 0xa5)
return(rch + 0x31);
else if(rch >= 0xa6 && rch <= 0xaf)
return(rch + 0x32);
else if(rch >= 0xe0 && rch <= 0xef)
return(rch + 0x02);
else if(rch == 0xf1)
return(0xd7);
else
return(rch);
}
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。