unicode轉utf8c語言
發布時間: 2025-01-14 10:04:28
❶ 鐢–璇璦鎵撳紑鏂囦歡鐨勪笁縐嶆柟寮
C璇璦璇誨啓鏂囦歡 涓縐嶆槸鏂囨湰鏂瑰紡錛屽彟涓縐嶆槸2榪涘埗鏂瑰紡銆傛棩鏂囷紝涓鏂囷紝unicode, 閮借佺敤2榪涘埗鏂瑰紡銆傛枃浠跺唴瀹 鐨勭紪鐮 鍜岀紪鐮佺殑杞鍖栵紝鍚屼竴縐嶇紪鐮佺殑澶х鎴栧皬絝緙栫爜錛岄兘瑕佽嚜宸卞畨鎺掑勭悊銆
錛1錛夌敤2榪涘埗鏂瑰紡鎵撳紑鏂囦歡
錛2錛夎/鍐 UTF-8鐨勭紪鐮佹枃浠 寮澶
鏈3 涓鐗規畩瀛楄妭錛屾暟鍊兼槸16榪涘埗錛 EF BB BF
錛3錛塙CS 緙栫爜(16榪涘埗) 鐨 UTF-8 瀛楄妭嫻(浜岃繘鍒) 錛
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
010000 -- 1FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
鎸夋よ漿鎹錛岀敤fwrite() 杈撳嚭瀛楄妭嫻併
鎴栨寜瀛楄妭 fread() 璇誨叆錛屽垽鏂楂樹綅錛屽喅瀹氳繛璇2涓榪樻槸3涓4涓瀛楄妭錛岃瘧涓 UCS
❷ 如何將一個漢字用C語言將其轉換成Unicode編碼最好直接編成UTF-8,是不是vc裡面有函數可以直接編求程序
#include<stdio.h>
#include<windows.h>
voidGetUtf8(unsignedshortuni)
{
unsignedcharutf_8[3];
utf_8[0]=(0xe<<4)|((uni&0xf000)>>12);//相當於把二進制1110右移12位
utf_8[1]=(0x2<<6)|((uni&0x0fc0)>>6);//相當於把二進制10右移16位
utf_8[2]=(0x2<<6)|(uni&0x003f);//相當於取二進制低6位
printf("UTF-8編碼的第一個位元組為0x%.2x ",utf_8[0]);
printf("UTF-8編碼的第一個位元組為0x%.2x ",utf_8[1]);
printf("UTF-8編碼的第一個位元組為0x%.2x ",utf_8[2]);
}
voidmain()
{
chara[3];
wchar_tstr;
printf("輸入一個漢字: ");
gets(a);
MultiByteToWideChar(CP_ACP,0,a,-1,&str,1);
printf("%s",a);
printf("字Unicode編碼為%x ",(unsignedshort)str);
GetUtf8((unsignedshort)str);
}
熱點內容