Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 8da85283d75a871d50bb67379a0ceca4 > files > 16

zh-autoconvert-0.3.16-3mdv2008.1.x86_64.rpm

		libhz ʹÓüò½é
		
libhzÌṩÁËgb/big5/hz×Ô¶¯Ê¶±ðºÍgb,big5,hz,utf8,utf7,unicodeÖ®¼äµÄת»»º¯Êý¡£
ÆäÖУº
include/hz.h   /*Í·Îļþ*/
lib/libhz.a    /*¾²Ì¬¿â*/
lib/libhz.so   /*¹²Ïí¿â*/

Example: gb/big/hzʶ±ð

incode=j_code(pbuf,count);Çë²»ÒªÖ±½ÓʹÓÃj_code3µÈ.
pbufÊÇÒªÊDZðµÄ×Ö·û´®£¬countÊÇҪʶ±ðµÄ×Ö·ûÊý¡£
·µ»ØÖµÔÚhz.hÀïÃ涨Òå¡£


Example£º gb->big5ת»»

·½·¨Ò»: Ö±½Óµ÷ÓÃת»»º¯Êý
...
gb2big_init();   /*³õʼ»¯*/

...		/*Ñ­»·,¶Áµ½pbufÀï,È»ºóת»»*/
gb2big(pbuf,&count,0) 
...		/*Ñ­»·½áÊø*/

ÆäÖÐ pbufÊÇÖ¸ÏòҪת»»µÄ×Ö·û´®µÄÖ¸Õ룬pbufÇ°±£ÁôÒ»¸ö×Ö·ûµÄ¿Õ¼ä,countÊÇҪת»»µÄ
×Ö·ûÊý£¬0ÊÇÖ¸¶¨Ê¹Óõڼ¸¸öbuffer.

ʹÓÃbufferµÄÔ­ÒòÊÇΪÁË·ÀÖ¹pbufµÄ×îºó³öÏÖ°ë¸ö×Ö£¬µ±³öÏÖ°ë¸ö×Öʱ£¬Õâ°ë¸ö×־ͻáÔÚ
bufferÀïÃæ±£´æ£¬Ï´ε÷ÓÃgb2bigʱ£¬Õâ°ë¸ö×־ͻᱻÌí¼Óµ½Ç°Ãæ¡£×¢Ò⣬¿ÉÒÔÓÐ16¸öbuffer
(0-15).
ÆäËûº¯ÊýʹÓ÷½·¨Ò²ÀàËÆ¡£

·½·¨¶þ: ʹÓÃhz_search()ºÍhz_convert()×éºÏ
ÍƼöʹÓÃÕâÖÖ·½·¨, search¿ÉÒÔ×éºÏ×îºÏÊʵÄת»»º¯Êý, convertÍê³Éת»»¹ý³Ì.

hz_setup();
³õʼ»¯Ä£¿éÊý¾Ý¿â, ½«À´»áÔÊÐíµ÷ÓÃÍⲿģ¿é.
...
dist=search(incode,outcode,8);
distÊÇÐèÒª×éºÏµÄת»»º¯ÊýµÄ¸öÊý, Èç¹ûµÈÓÚ0±íÃ÷ÎÞ·¨Íê³Éת»». 8±íʾ×î¶à×éºÏ8¸ö
ת»»º¯Êý.
...
ps=convert(pbuf,&count,0);
Íê³Éת»»¹ý³Ì, convert¿ÉÒÔ×ÔÐÐ˳Ðòµ÷ÓÃ×éºÏºÃµÄº¯Êý.
pbufÊÇÊäÈë´®, countΪת»»×Ö·ûÊý, 0±íʾʹÓÃÄÚ²¿¼Ä´æµ¥ÔªºÅÂë.
°ë¸ö×Ö·ûÎÊÌâconvert¿ÉÒÔ×ÔÐд¦Àí.


						Yu Guanghui
						2001.04.23