c++ 中判断字符是 ASCII 编码还是 GBK 编码

在C++中,一个字符是ASCII编码还是GBK编码,取决于其在ASCII范围内还是在GBK范围内。

ASCII编码的范围是0到127,而GBK编码是双字节编码,包含了更广泛的字符范围。

sh 复制代码
#include <iostream>
#include <string>
#include <locale>

bool isASCII(char c) {
    // ASCII编码的范围是0到127
    return static_cast<unsigned char>(c) <= 127;
}

bool isGBK(char c) {
    // GBK编码的范围比ASCII广泛,可以根据实际情况扩展判断条件
    return !isASCII(c);
}

int main() {
    // 测试示例
    char asciiChar = 'A';
    char gbkChar = '你';

    // 判断字符是ASCII编码还是GBK编码
    std::cout << "字符 '" << asciiChar << "' 是ASCII编码吗?" << std::boolalpha << isASCII(asciiChar) << std::endl;
    std::cout << "字符 '" << gbkChar << "' 是GBK编码吗?" << std::boolalpha << isGBK(gbkChar) << std::endl;

    return 0;
}
相关推荐
王老师青少年编程几秒前
2025信奥赛C++提高组csp-s复赛真题及题解:社团招新
c++·真题·csp·信奥赛·csp-s·提高组·复赛
橘子师兄5 分钟前
C++AI大模型接入SDK—Ollama本地接入Deepseek
c++·人工智能·后端
程序猿编码8 分钟前
深入浅出Linux内核级防火墙:IP/端口黑白名单的高性能实现
linux·c语言·c++·tcp/ip·内核
不染尘.18 分钟前
二分算法(优化)
开发语言·c++·算法
彩妙不是菜喵23 分钟前
STL精讲:list容器
开发语言·c++
m0_7369191030 分钟前
C++中的观察者模式
开发语言·c++·算法
福赖40 分钟前
《微服务即使通讯中RabbitMQ的作用》
c++·微服务·架构·rabbitmq
waves浪游44 分钟前
Ext系列文件系统
linux·服务器·开发语言·c++·numpy
XH华1 小时前
备战蓝桥杯,第五章:string字符串
c++·职场和发展·蓝桥杯
2301_817497331 小时前
C++中的适配器模式实战
开发语言·c++·算法