当前位置: 首页 > news >正文

如何建设一个自己的网站首页9277在线观看最新资源

如何建设一个自己的网站首页,9277在线观看最新资源,开发公司购买的游乐设备计入什么科目,成都建设网站平台1、UTF-8 和 GBK 的区别 GBK#xff1a;通常简称 GB #xff08;“国标”汉语拼音首字母#xff09;#xff0c;GBK 包含全部中文字符。 UTF-8 #xff1a;是一种国际化的编码方式#xff0c;包含了世界上大部分的语种文字#xff08;简体中文字、繁体中文字、英文、… 1、UTF-8 和 GBK 的区别 GBK通常简称 GB  “国标”汉语拼音首字母GBK 包含全部中文字符。 UTF-8 是一种国际化的编码方式包含了世界上大部分的语种文字简体中文字、繁体中文字、英文、日文、韩文等语言也兼容 ASCII 码。UTF-8 则包含全世界所有国家需要用到的字符。 2、UTF-8 和 GBK 的作用 这两种编码方式的的作用就是在不同的应用环境中使用特定的编码方式 如果输入字符编码是UTF-8如果想要将信息转换为汉字呈现在显示器上就必须进行GBK转码操作才能在显示屏上看到信息 如果输入字符编码是GBK,如果想要在系统操作中让嵌入式设备或者编程环境认知它就需要进行UTF-8转码操作。 3、UTF-8 和 GBK 之间如何转换 在字符转换的过程中二者不可以直接进行转换必须借助于unicode 3.1、UTF-8转GBK UTF-8——unicode——GBK 3.2、GBK转UTF-8 GBK——unicode——UTF-8 4、UTF-8 转GBK ——C代码 4.1、引入Win32 因为linux是32位的所以首先需要引入Winsows.h库附带引入iconv.h库 #includeiostream #includestring #includestring.h #ifdef _WIN32 #includeWindows.h #else #includeiconv.h #endif // _WIN32 using namespace std; #ifndef _WIN32 4.2、定义函数 static size_t Convert(char* from_cha, char* to_char, char* in, size_t inlen, char* out, size_t outlen) {//转换上下文iconv_t cd;cd iconv_open(to_char, from_cha);if (cd 0){return -1;}memset(out, 0, outlen);char** pin in;char** pout out;//返回转换字节数的数量但是转GBK的时候经常不正确 0就是成功size_t re iconv(cd, pin, inlen, pout, outlen);if (cd ! 0){iconv_close(cd);}cout re (int) re endl;return re; } 4.2.1、iconv库介绍 iconv库——linux的转换字符编码库 iconv_open()——作用:从字符编码from_char转换为to_char iconv_open(to_char, from_cha); iconv_close():—— 关闭参数所指定的转换描述符  iconv_close(cd); memset库——memset是C库函数 memset(out, 0, outlen); out -- 指向要填充的内存块。0 -- 要被设置的值。该值以 int 形式传递但是函数在填充内存块时是使用该值的无符号字符形式。outlen -- 要被设置为该值的字符数。 4.3、统计转换后的字节数 使用内置函数 现在格式是UTF8即CP_UTF8. int len MultiByteToWideChar(CP_UTF8, //转换的格式0, //默认的转换方式data, //输入的字节-1, //输入的字符串大小 -1找\0结束 自己去算0, //输出不输出统计转换后的字节数0 //输出的空间大小); 4.4、用wtring存储数据并为其分配大小 wstring udata; //用wstring存储的 udata.resize(len);//分配大小 4.5、UTF-8转unicode。 将数据写进去将数据强转为wchar_t类型适用于windows和linux。 MultiByteToWideChar(CP_UTF8, 0, data, -1, (wchar_t*)udata.data(), len); 4.6、unicode转GBK。 现在格式转成GBK即CP_ACP。和UTF-8的参数数量不一样哦 len WideCharToMultiByte(CP_ACP, 0, (wchar_t*)udata.data(), -1, 0, 0,0, //失败替代默认字符0 //是否使用默认替代 0 false); 4.7、配置字符大小转成GBK utf8.resize(len); WideCharToMultiByte(CP_ACP, 0, (wchar_t*)udata.data(), -1, (char*)utf8.data(), len, 0, 0); 4.8、 UTF-8转GBK完整代码 其他都是一样的只不过加了 #ifdef _WIN32  ...... ..... #else //linuxre.resize(1024);int inlen strlen(data);cout inlen inlen endl;Convert((char*)utf-8, (char*)gbk, (char*)data, inlen, (char*)re.data(), re.size());int outlen strlen(re.data());re.resize(outlen); #endif #endif string UTF8ToGBK2(const char* data) {string re ;//1、UTF8 先要转为unicode windows utf16 #ifdef _WIN32//1.1 统计转换后的字节数int len MultiByteToWideChar(CP_UTF8, //转换的格式0, //默认的转换方式data, //输入的字节-1, //输入的字符串大小 -1找\0结束 自己去算0, //输出不输出统计转换后的字节数0 //输出的空间大小);if (len 0){return re;}wstring udata; //用wstring存储的udata.resize(len);//分配大小//开始写进去MultiByteToWideChar(CP_UTF8, 0, data, -1, (wchar_t*)udata.data(), len);//2 unicode 转 GBK 转成unicodelen WideCharToMultiByte(CP_ACP, 0, (wchar_t*)udata.data(), -1, 0, 0,0, //失败替代默认字符0 //是否使用默认替代 0 false);if (len 0){return re;}re.resize(len);WideCharToMultiByte(CP_ACP, 0, (wchar_t*)udata.data(), -1, (char*)re.data(), len, 0, 0); #elsere.resize(1024);int inlen strlen(data);cout inlen inlen endl;Convert((char*)utf-8, (char*)gbk, (char*)data, inlen, (char*)re.data(), re.size());int outlen strlen(re.data());re.resize(outlen); #endifreturn re; } 5、GBK  转 UTF-8 ——C代码 5.1、统计转换后的字节数 //1.1 统计转换后的字节数int len MultiByteToWideChar(CP_ACP, //转换的格式0, //默认的转换方式data, //输入的字节-1, //输入的字符串大小 -1找\0结束 自己去算0, //输出不输出统计转换后的字节数0 //输出的空间大小); 5.2、用wstring存储数据并为其分配大小  wstring udata; //用wstring存储的 udata.resize(len);//分配大小 5.3、GBK转unicode  //开始写进去MultiByteToWideChar(CP_ACP, 0, data, -1, (wchar_t*)udata.data(), len); 5.4、unicode转UTF-8 //2 unicode 转 utf8len WideCharToMultiByte(CP_UTF8, 0, (wchar_t*)udata.data(), -1, 0, 0,0, //失败替代默认字符0 //是否使用默认替代 0 false); 5.5、配置字符大小转成UTF-8 GBK.resize(len); WideCharToMultiByte(CP_UTF8, 0, (wchar_t*)udata.data(), -1, (char*)GBK.data(), len, 0, 0); 5.6、GBK 转UTF-8 完整代码 其他都是一样的只不过加了 #ifdef _WIN32 ..... ..... #else //linuxre.resize(1024);int inlen strlen(data);Convert((char*)gbk, (char*)utf-8, (char*)data, inlen, (char*)re.data(), re.size());int outlen strlen(re.data());re.resize(outlen); #endif string GBKToUTF82(const char* data) {string re ; #ifdef _WIN32//1、GBK转unicode//1.1 统计转换后的字节数int len MultiByteToWideChar(CP_ACP, //转换的格式0, //默认的转换方式data, //输入的字节-1, //输入的字符串大小 -1找\0结束 自己去算0, //输出不输出统计转换后的字节数0 //输出的空间大小);if (len 0){return re;}wstring udata; //用wstring存储的udata.resize(len);//分配大小//开始写进去MultiByteToWideChar(CP_ACP, 0, data, -1, (wchar_t*)udata.data(), len);//2 unicode 转 utf8 转成unicodelen WideCharToMultiByte(CP_UTF8, 0, (wchar_t*)udata.data(), -1, 0, 0,0, //失败替代默认字符0 //是否使用默认替代 0 false);if (len 0){return re;}re.resize(len);WideCharToMultiByte(CP_UTF8, 0, (wchar_t*)udata.data(), -1, (char*)re.data(), len, 0, 0); #elsere.resize(1024);int inlen strlen(data);Convert((char*)gbk, (char*)utf-8, (char*)data, inlen, (char*)re.data(), re.size());int outlen strlen(re.data());re.resize(outlen); #endifreturn re; } 6、linux虚拟机测试 6.1、创建文件夹 mkdir test_GBK_UTF-8 6.2、进入文件夹 cd test_GBK_UTF-8 6.3、创建test_GBK_UTF-8.cpp文件 vim test_GBK_UTF-8.cpp将刚才代码放进去按下esc键盘输入  :wq (有一个呦)回车 6.4、输入 //g就是运行环境是C g test_GBK_UTF-8.cpp -o test_GBK_UTF-8 6.5、执行 ./test_GBK_UTF-86.6、结果 如果不转码会输出乱码 7、完整代码——基于linux //GBK转utf-8 #includeiostream #includestring #includestring.h #ifdef _WIN32 #includeWindows.h #else #includeiconv.h #endif // _WIN32 using namespace std; #ifndef _WIN32 static size_t Convert(char* from_cha, char* to_char, char* in, size_t inlen, char* out, size_t outlen) {//转换上下文iconv_t cd;cd iconv_open(to_char, from_cha);if (cd 0){return -1;}memset(out, 0, outlen);char** pin in;char** pout out;//返回转换字节数的数量但是转GBK的时候经常不正确 0就是成功size_t re iconv(cd, pin, inlen, pout, outlen);if (cd ! 0){iconv_close(cd);}cout re (int) re endl;return re; } #endif // !_WIN32string UTF8ToGBK(const char* data) {string re ;//1、UTF8 先要转为unicode windows utf16 #ifdef _WIN32//1.1 统计转换后的字节数int len MultiByteToWideChar(CP_UTF8, //转换的格式0, //默认的转换方式data, //输入的字节-1, //输入的字符串大小 -1找\0结束 自己去算0, //输出不输出统计转换后的字节数0 //输出的空间大小);if (len 0){return re;}wstring udata; //用wstring存储的udata.resize(len);//分配大小//开始写进去MultiByteToWideChar(CP_UTF8, 0, data, -1, (wchar_t*)udata.data(), len);//2 unicode 转 GBK 转成unicodelen WideCharToMultiByte(CP_ACP, 0, (wchar_t*)udata.data(), -1, 0, 0,0, //失败替代默认字符0 //是否使用默认替代 0 false);if (len 0){return re;}re.resize(len);WideCharToMultiByte(CP_ACP, 0, (wchar_t*)udata.data(), -1, (char*)re.data(), len, 0, 0); #elsere.resize(1024);int inlen strlen(data);cout inlen inlen endl;Convert((char*)utf-8, (char*)gbk, (char*)data, inlen, (char*)re.data(), re.size());int outlen strlen(re.data());re.resize(outlen); #endifreturn re; }string GBKToUTF8(const char* data) {string re ; #ifdef _WIN32//1、GBK转unicode//1.1 统计转换后的字节数int len MultiByteToWideChar(CP_ACP, //转换的格式0, //默认的转换方式data, //输入的字节-1, //输入的字符串大小 -1找\0结束 自己去算0, //输出不输出统计转换后的字节数0 //输出的空间大小);if (len 0){return re;}wstring udata; //用wstring存储的udata.resize(len);//分配大小//开始写进去MultiByteToWideChar(CP_ACP, 0, data, -1, (wchar_t*)udata.data(), len);//2 unicode 转 utf8 转成unicodelen WideCharToMultiByte(CP_UTF8, 0, (wchar_t*)udata.data(), -1, 0, 0,0, //失败替代默认字符0 //是否使用默认替代 0 false);if (len 0){return re;}re.resize(len);WideCharToMultiByte(CP_UTF8, 0, (wchar_t*)udata.data(), -1, (char*)re.data(), len, 0, 0); #elsere.resize(1024);int inlen strlen(data);Convert((char*)gbk, (char*)utf-8, (char*)data, inlen, (char*)re.data(), re.size());int outlen strlen(re.data());re.resize(outlen); #endifreturn re;return re; }int main() {std::cout Hello World! 测试\n;//1、测试utf-8转GBK//cout UTF8ToGBK(u8测试UTF-8转GBK) endl;string in u8测试UTF-8转GBK;cout 输入 utf in endl;string gbk UTF8ToGBK2(in.c_str());cout gbk gbk endl;cout GBKToUTF82(gbk.c_str()) endl;system(pause);return 0; }
http://www.hkea.cn/news/14546916/

相关文章:

  • 深圳前海网站设计微信辅助做任务网站
  • 商城网站大全宜宾网站设计
  • 购物网站建设的目标大数据精准客户
  • 网站扁平结构北京有哪些著名网站
  • 商务网站建设与维护 ppt软件开发app制作公司
  • 自己主机做标签电影网站搜索引擎入口
  • 怎样才能建设网站平台公司发债
  • 网站运营策略如何做电子商务网站开发与管理
  • 南京网站模板成都网站快速排名优化
  • php 网站安装原理wordpress5.2安装教程
  • 网站架构建设关键词查网站
  • ui中国设计网站页面站长查询
  • 营销型网站设计思路网站设计评价标准
  • 唐山企业网站建设公司设计公司网站案例
  • 主题 外贸网站 模板商城网站wordpress
  • 桂林龙胜网站建设绍兴seo网站管理
  • 甘肃省建设银行网站wordpress做手机网站
  • 网站开发验证码图片不显示wordpress 更改logo
  • 网站开发php门户网站建设 增强责任意识
  • 做电影网站程序哪个好企业策划工作内容
  • 微信网站什么做外文网站做t检验分析
  • 免费个人网站源码下载加盟网站模板
  • 网站没有备案怎么申请广告网站301跳转代码
  • 学校如何建网站机械设备产品设计
  • 大连提高网站排名深圳企业专业网站设计
  • 南阳南阳新区网站建设江阴建设网站
  • 西安网站网页设计网站建设的实验小结
  • 网站开发到发布承德网站设计
  • 中国空间站最新视频电子商务主要学什么就业前景好不好
  • 网站比较分析上海外贸服装尾货市场