中日文和UNICODE之間編碼的轉換

2021-06-15 05:02:11 字數 2198 閱讀 7075

一 gbk <==> unicode

unsigned short gbk2uni(unsigned short usgbk)

;unsigned short usuni;

multibytetowidechar(        

936,

0, (lpcstr)szeuc,  

2, &usuni,     

1); 

return usuni;   }

unsigned short uni2gbk(unsigned short usuni)

;unsigned short wzuni[2] = ;

unsigned short usgbk;

widechartomultibyte(

936,

0, wzuni,  

2, (lpstr)szgbk,     

2,0,

0); 

usgbk = (szgbk[0] << 8) | szgbk[1];    

return usgbk;}

二 shift-jis <==> unicode

unsigned short sjis2uni(unsigned short ussjis)

;unsigned short usuni;

multibytetowidechar(        

932,

0, (lpcstr)szeuc,  

2, &usuni,     

1); 

return usuni;   

}unsigned short uni2sjis(unsigned short usuni)

;unsigned short wzuni[2] = ;

unsigned short ussjis;

widechartomultibyte(

932,

0, wzuni,  

2, (lpstr)szsjis,     

2,0,

0); 

ussjis = (szsjis[0] << 8) | szsjis[1];    

return ussjis;}

三  jis <=> unicode

unsigned short jis2uni(unsigned short usjis)

;unsigned short usuni;

multibytetowidechar(        

20932,

0, (lpcstr)szeuc,  

2, &usuni,     

1); 

return usuni;   

}unsigned short uni2jis(unsigned short usuni)

;unsigned short wzuni[2] = ;

unsigned short usjis;

widechartomultibyte(

20932,

0, wzuni,  

2, (lpstr)szjis,     

2,0,

0); 

usjis = (szjis[0] << 8) | szjis[1];    

return usjis;}

四  jis <=> shift-jis

unsigned short sjis2jis( unsigned short sjis )

else

return ( ubyte << 8 ) + lbyte;

} else }

unsigned short jis2sjis( unsigned short jis )

ubyte -= 0x1f;

ubyte = ubyte >> 1;

ubyte += 0x80;

if ( ubyte >= 0xa0 ) ubyte += 0x40;

if ( ((ubyte >= 0x81) && (ubyte <= 0x9f)) ||

((ubyte >= 0xe0) && (ubyte <= 0xef)) )

else }

uni2jis這個函式好像不太好用,其他的都經過測試,沒有問題的。現在我還不知道具體原因,現在我從 unicode轉到jis是分兩個步驟的,第乙個步驟是先將unicode轉到shift-jis,然後由shift-jis轉到jis。

從日文得到Unicode編碼的方法

前面說過,在將軟體改造成支援多國語言的時候,需要屬性檔案,而其中的編碼,如果是日文 中文 韓文等等,就要使用unicode編碼。所以下面舉個例子說明如何得到unicode編碼。1.在記事本中貼上原始的日文漢字。如果是手動輸入的話,也要用日文輸入法輸入。比如說我們輸入 2.將其另存為unicode編碼...

從日文得到Unicode編碼的方法

前面說過,在將軟體改造成支援多國語言的時候,需要屬性檔案,而其中的編碼,如果是日文 中文 韓文等等,就要使用unicode編碼。所以下面舉個例子說明如何得到unicode編碼。1.在記事本中貼上原始的日文漢字。如果是手動輸入的話,也要用日文輸入法輸入。比如說我們輸入 2.將其另存為unicode編碼...

多字元編碼 和 Unicode編碼

四字符集和字元編碼說明 五 其他 c 基本資料型別中表示字元有兩種 char wchar t char 叫多位元組字元,乙個char佔乙個位元組,之所以叫多位元組字元是因為它表示乙個字時可能是乙個位元組也可能是多個位元組。乙個英文本元 如 s 用乙個char 乙個位元組 表示,乙個中文漢字 如 中 ...