⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000001.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 4 页
字号:
&nbsp;&nbsp;那些要用全形显示?&nbsp;那些要用半形显示?&nbsp;这必须靠&nbsp;libc&nbsp;的&nbsp;LC_CTYPE&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;来判断。因&nbsp;此,&nbsp;LC_CTYPE&nbsp;如果挂掉,可以说什麽都没辄。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;我相信,有了上述的「配备」後,基本的&nbsp;I18N&nbsp;环境就已经具备了。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;但一定有人会&nbsp;问:&nbsp;「看起来&nbsp;CLE&nbsp;在上述所说的都没问题,为什麽还&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;是到处都不是中文?」&nbsp;没错,&nbsp;那是因为目前&nbsp;Linux&nbsp;上大部分的程式&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;还不是用&nbsp;I18N&nbsp;的标准而写的。例如大家常用&nbsp;的&nbsp;Netscape,&nbsp;xcin,&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;crxvt&nbsp;....&nbsp;等等,它们都是用「自己」的招术来处理中文,&nbsp;这也就&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;是为什麽&nbsp;xcin&nbsp;只能在&nbsp;crxvt&nbsp;上输入,为什麽我们要靠&nbsp;CXWin&nbsp;来看&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;中文&nbsp;....&nbsp;等等。这些都不是正解,只是暂时的一个手段,最後都是&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;要放弃的。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;目前,有越来越多程式将朝向&nbsp;I18N&nbsp;来发展,而我们目前最需要的工&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;作,就是弄&nbsp;I18N&nbsp;的&nbsp;zh_TW.Big5&nbsp;部分。举个例子,目前&nbsp;CLE&nbsp;group&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;正忙於&nbsp;GNOME&nbsp;的中文化,&nbsp;它算是目前&nbsp;I18N&nbsp;化相当彻底的一个&nbsp;X&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;Disktop&nbsp;/&nbsp;Window&nbsp;Manager,&nbsp;Platin&nbsp;预计&nbsp;在下一版的&nbsp;CLE&nbsp;就是以&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;GNOME&nbsp;为主,只要将其中的讯息都翻译成中文,做好&nbsp;LC_MESSAGES&nbsp;的&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;工作,未来在&nbsp;GNOME&nbsp;中,将不需要依靠&nbsp;CXWin,&nbsp;打开後就到处都&nbsp;是&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;中文。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;其他的&nbsp;GNU&nbsp;软体也是,有另一组人马正将一些常见指令如&nbsp;ls,&nbsp;cp&nbsp;等&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;的讯息中文&nbsp;化,并将结果回报给&nbsp;GNU,&nbsp;期望未来新版的&nbsp;GNU&nbsp;软体&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;中,中文讯息就是标准的一&nbsp;部分,我们不再需要每次人家更新版就急&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;急忙忙地做&nbsp;patch&nbsp;了。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;中文输入就比较复杂,除了上述的&nbsp;I18N&nbsp;以外,还有一个&nbsp;XIM&nbsp;(X&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;Input&nbsp;Method)&nbsp;协定。我们必须要有&nbsp;XIM&nbsp;server&nbsp;来取代目前的&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;xcin,&nbsp;而且还要&nbsp;X&nbsp;Window&nbsp;的应&nbsp;用程式能够遵循&nbsp;XIM&nbsp;协定,才能做&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;到&nbsp;&quot;Chinese&nbsp;Input&nbsp;Anywhere&quot;。目前&nbsp;CLE&nbsp;已&nbsp;有一个&nbsp;XIM&nbsp;server,&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;即&nbsp;xcin-cxim&nbsp;之类的程式,但麻烦的是遵循&nbsp;XIM&nbsp;协定的应&nbsp;用程式仍&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;不多,最著名的就是&nbsp;GNOME,&nbsp;xemacs,&nbsp;以及一些&nbsp;X11R6&nbsp;所附的软体&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;(如&nbsp;xedit,&nbsp;由&nbsp;Xt&nbsp;及&nbsp;Xaw&nbsp;提供&nbsp;I18N&nbsp;支援)。而我个人目前正在写的&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;xcin-2.5&nbsp;就是一个&nbsp;XIM&nbsp;server,&nbsp;我希望这个软体能在将来与「各路&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;人马」配合,做出一点贡献。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;因此,「中文化」的工作,并不是那麽简单地说「因为&nbsp;Linux&nbsp;是免&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;费、没有人付&nbsp;钱给程式设计师,所以做不好」,或者说「我们中国人&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;不团结,大家不肯合作发&nbsp;展程式」,或者说「&nbsp;Linux&nbsp;是&nbsp;server&nbsp;导&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;向,不适合做中文」&nbsp;....&nbsp;等等。&nbsp;Linux&nbsp;可以发展中文,而且有很多&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;人正努力地在工作,但是更重要的是,我们还得配合国&nbsp;外&nbsp;(或说软体&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;的原设计者)&nbsp;的脚步。前面说过,我们要有完整&nbsp;locale&nbsp;支援的&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;libc,&nbsp;这一切才有希望,我们也需要我们常用的软体&nbsp;(如&nbsp;Netscape,&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;window&nbsp;manager,&nbsp;甚至&nbsp;database,&nbsp;office&nbsp;....)&nbsp;的设计者觉悟到,&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;真正的标准是&nbsp;I18N,&nbsp;是&nbsp;locale,&nbsp;是&nbsp;XIM,&nbsp;我们才能跟进,将中文化&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;的部分加进去。更重要的一点,我们自己的程式&nbsp;设计师在写软体时,&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;是不是也能遵循&nbsp;I18N,&nbsp;locale,&nbsp;XI&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;供参考,也请各&nbsp;位多多给予我批评与指教。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;1.第一步:&nbsp;setlocale&nbsp;(详见&nbsp;man&nbsp;setlocale&nbsp;与其他相关&nbsp;man&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;page)&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;程式的第一步必须要设定&nbsp;locale,&nbsp;而一般的写法是&nbsp;locale&nbsp;资料&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是经由环境变数取&nbsp;得,而不要写死在程式□头,例如:&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;main()&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setlocale(LC_ALL,&nbsp;&quot;&quot;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.....&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;或分别设定:&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setlocale(LC_CTYPE,&nbsp;&quot;&quot;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setlocale(LC_MESSAGES,&nbsp;&quot;&quot;);&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.....&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我个人的建议是,在&nbsp;setlocale()&nbsp;时只要设我们程式中需要的项&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;目即可,而不要设&nbsp;LC_ALL,&nbsp;原因是在某些&nbsp;locale&nbsp;下&nbsp;(如我们的&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zh_TW.Big5),&nbsp;并非所有的项目都能&nbsp;正确运作。我想对大部分的&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;程式而言,设好&nbsp;LC_CTYPE&nbsp;与&nbsp;LC_MESSAGES&nbsp;就差不多了,&nbsp;故以&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下我针对这两个做说明。&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;2.wcs.&nbsp;vs.&nbsp;mbs.&nbsp;(详见&nbsp;man&nbsp;mbstowcs&nbsp;与相关&nbsp;man&nbsp;page)&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;wcs&quot;&nbsp;是&nbsp;&quot;wide-chararater&nbsp;string&quot;&nbsp;的缩写,而&nbsp;&quot;mbs&quot;&nbsp;是&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;multi-byte&nbsp;string&quot;&nbsp;的缩写,二者分别代表字串的表现方式。&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所谓的&nbsp;multi-byte&nbsp;是指数个&nbsp;char&nbsp;组成&nbsp;一个字&nbsp;(如全形字或中&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;文字是由两个&nbsp;char&nbsp;组成),而&nbsp;wide-char&nbsp;是指一个&nbsp;wchar_t&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type&nbsp;就是一个字,&nbsp;而&nbsp;sizeof(wchar_t)&nbsp;的大小与系统有关,一&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;般而言是&nbsp;4&nbsp;bytes。&nbsp;一般我们可以直接看、输出输入等都是&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;multi-byte,&nbsp;如:&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*str&nbsp;=&nbsp;&quot;这是一个句子:&nbsp;abcd&quot;;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但我们会建议在程式内部,用&nbsp;mbstowcs()&nbsp;将它转成&nbsp;wchar_t&nbsp;来&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;统一处理,这个&nbsp;转换其实是根据&nbsp;locale&nbsp;中的&nbsp;LC_CTYPE&nbsp;的机&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;制,它定义了&nbsp;multi-byte&nbsp;与&nbsp;wide-&nbsp;char&nbsp;值二者间的对应关&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;系。做这样转换的好处是,您不用担心全形、半形的问题,&nbsp;因为&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个&nbsp;wchar_t&nbsp;矩阵元就是一个字。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wchar_t&nbsp;有一组与&nbsp;string.h&nbsp;中相对应的字串处理函式&nbsp;(目前在&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Linux&nbsp;中可能还没&nbsp;有&nbsp;man&nbsp;page&nbsp;说明),就定义在&nbsp;wchar.h&nbsp;中,&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;让我们可以如同处理&nbsp;(char&nbsp;*)&nbsp;那样&nbsp;地处理&nbsp;(wchar_t&nbsp;*),&nbsp;其部&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;分的对应关系如下,其他的可以直接看&nbsp;wchar.h&nbsp;的内容:&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wcscpy()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;====&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy()&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wcsncpy()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;====&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strncpy()&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wcslen()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;====&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strlen()&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wcsdup()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;====&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strdup()&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wcscmp()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;====&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcmp()&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wcsncmp()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;====&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strncmp()&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;........................................&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由於&nbsp;mbs&nbsp;码与&nbsp;wcs&nbsp;码的对应关系是由该&nbsp;locale&nbsp;的&nbsp;LC_CTYPE&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;来决定的,也就是不&nbsp;同的&nbsp;locale&nbsp;写法其对应关系可能会不一&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;样。就我们的&nbsp;glibc2,&nbsp;zh_TW.Big5&nbsp;locale&nbsp;而言,由&nbsp;mbs&nbsp;转成&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;的&nbsp;wcs&nbsp;即为&nbsp;unicode&nbsp;(有关&nbsp;unicode&nbsp;的资讯可以在&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://www.unicode.org/">http://www.unicode.org/</A>&nbsp;中找到),但不能保证在其他的系统或&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;环境下也是如此。&nbsp;故最保险的做法,是将字串储存成&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;multi-byte,&nbsp;然後在&nbsp;run-time&nbsp;时才用&nbsp;mbstowcs()&nbsp;转成&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;wide-char&nbsp;来运作。&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -