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);
}
热点内容