Windows字符集

简介: Windows字符集

一、基础知识

英文编码:1个字符对应1个字节(多字节)
中文编码:1个字符对应多个字节(宽字节)

  • Unicode
  • utf-8 一个字符对应3个字节
  • GBK 一个字符对应2个字节

二、windows编程中的字符编码

MFC编程时,如下代码可能会导致报错

MessageBox("qwq");

这是因为字母默认是多字节编码,而项目属性使用的字符集一般为宽字节(右击项目,最下面找到属性,高级->字符集 可查看项目使用的编码方式)
修改项目使用的字符集
所以这时需要进行编码方式的转换,有以下两种方法:

// 1. 使用TEXT进行转换(TEXT具备自适应编码的转换能力)
MessageBox(TEXT("qwq"));
// 2. 在字符串前添加L,告诉程序使用宽字节的编码方式处理以下字符串
MessageBox(L"qwq");

三、Windows字符串的一些操作

  1. 统计字符串长度
// 统计多字节字符串长度
int num = 0;
char * p1 = "qwq";
num = strlen(p1);

// 统计宽字节字符串长度
wchar_t * p2 = L"qwq";
num = wcslen(p2);
  1. char* 与 CString之间的转换
// char* -> CString
char * p3 = "qwq";
CString str = CString(p3);

// CString -> char*
CStringA tmp;
tmp = str;
char* p4 = tmp.GetBuffer();

string和CString之间是无法相互转换的,因此需要char*作为桥梁

目录
相关文章
|
5月前
|
自然语言处理 Linux Windows
Cmder - 想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅吗 附字符集编码 chcp 936、chcp 65001
Cmder - 想让你的windows下 cmd 和 SecureCRT 操作 Linux 一样帅吗 附字符集编码 chcp 936、chcp 65001
59 1
|
8月前
|
关系型数据库 MySQL Shell
Windows下的mysql字符集格式修改
在Windows上的MySQL 5.7.17,若安装时未设置字符集,可能导致乱码问题。本文提供了解决方案:首先,通过`mysql -uroot -p`登录并使用`show variables like '%char%';`查看当前字符集。然后,有两种修改方法:一是使用Shell命令临时修改9个相关属性为utf8;二是永久修改,在my.ini配置文件中将[mysqld]、[client]、[mysql]下的字符集改为utf8。记得重启MySQL服务以应用更改。此外,还提供了修改数据库和表字符集的SQL命令。
|
Windows
转载:查看本地windows的字符集方法
转载自:http://blog.itpub.net/519536/viewspace-580610 1.第一种方法是在cmd命令行界面上通过chcp命令查看 C:\>chcpActive code page: 936 2.
1161 0
|
安全 C语言 Windows
《windows核心编程系列》二谈谈ANSI和Unicode字符集 .
http://blog.csdn.net/ithzhang/article/details/7916732转载请注明出处!! 第二章:字符和字符串处理     使用vc编程时项目--》属性--》常规栏下我们可以设置项目字符集合,它可以是ANSI(多字节)字符集,也可以是unicode字符集。
1276 0
|
8天前
|
安全 关系型数据库 MySQL
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
49 9
|
2月前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
|
2月前
|
监控 安全 网络安全
使用EventLog Analyzer日志分析工具监测 Windows Server 安全威胁
Windows服务器面临多重威胁,包括勒索软件、DoS攻击、内部威胁、恶意软件感染、网络钓鱼、暴力破解、漏洞利用、Web应用攻击及配置错误等。这些威胁严重威胁服务器安全与业务连续性。EventLog Analyzer通过日志管理和威胁分析,有效检测并应对上述威胁,提升服务器安全性,确保服务稳定运行。