探寻Locale原理---锁定源代码

2009-05-13 02:00:58来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


从libc库中的Locale源代码开始!版本:FreeBSD 6.0 release

如果在安装是选择安装所有源代码的话,在

/usr/src/Libc/locale

目录下存放的就是FreeBSD的Locale机制的大多数源代码,主要的文件有:


BIG5.C  EUC.C  GB18030.C  GB2312.C   GBK.C  UTF8.C
BTOWC.C      
COLLATE.C   
COLLCMP.C                          
ISCTYPE.C   
ISWCTYPE.C   
LDPART.C      
LNUMERIC.C   
MBLEN.C      
MBRLEN.C     
MBRTOWC.C   
MBSINIT.C     
MBSTOWCS.C   
MBTOWC.C     
MSKANJI.C     
NOMACROS.C   
NONE.C      
RPMATCH.C   
RUNE.C      
RUNETYPE.C     
TABLE.C     
TOLOWER.C   
TOUPPER.C           
WCRTOMB.C   
WCSFTIME.C   
WCSTOD.C     
WCSTOF.C      
WCSTOL.C     
WCSTOLD.C   
WCSTOLL.C   
WCSTOMBS.C   
WCSTOUL.C   
WCSTOULL.C     
WCTOB.C      
WCTOMB.C     
WCTRANS.C   
WCTYPE.C     
WCWIDTH.C   

.....

这些源代码就是实现nls的核心支持,其中最主要的就是多字节和宽字节之间的转换!

经过几天的阅读,虽说谈不上体系上的认识,但是从源代码上,能够知道FreeBSD 6 对nls的支持还是很充分的!

在GB18030.C、GB2312.C、GBK.C这些源代码中,都提供了完整的wcmb的转换,具体参见源代码部分!








本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12258/showart_68111.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:安装了mysql5.0和apache22

下一篇:探寻Locale原理“/usr/src/lib/libc/locale/setlocale.c”