专栏中心

EEPW首页 > 专栏 > 俄文866编码及其与ANSI编码的转换(ZT)

俄文866编码及其与ANSI编码的转换(ZT)

发布人:beibeidong 时间:2008-07-04 来源:工程师 发布文章
 

АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщыьэюяёъ
(俄文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);
}

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

以高精度测量从几安培到数百安培的电流

电子科技大学--嵌入式系统应用开发技术35

场景融合新纪元:英伟达 BlueField-4 STX 何以打通网络与存储管理的壁垒

电子科技大学--嵌入式系统应用开发技术37

Bourns 扩展 Multifuse MF-LSMF 系列 PPTC 可复式保险丝产品线

看不见的振铃:利用缓冲电路抑制降压转换器中的寄生效应

严防触电:医疗设备安全防护策略

Keysight将1.6T互连验证方案扩展

Microchip推出全新BZPACK mSiC®功率模块,专为恶劣环境下高要求应用而设计

电子科技大学--嵌入式系统应用开发技术38

视频 2009-05-07

尽管与亚马逊达成芯片合作,英伟达股价仍下跌 3%,油价与加息担忧冲击 AI 交易

罗德与施瓦茨和Viasat携手合作,为卫星物联网连接制定NB-NTN测试方案

从互连工程到生态协同:TE Connectivity在机器人产业链的双重角色

电子科技大学--嵌入式系统应用开发技术34

电子科技大学--嵌入式系统应用开发技术36

更多 培训课堂
更多 焦点
更多 视频

技术专区