C++ 如何获取字符的 ASCII 码_C++ 字符转 ASCII 码实现

在C++中获取字符的ASCII码可通过类型转换实现:1. 直接赋值char给int;2. 使用(int)强制转换;3. 遍历字符串处理每个字符,仅适用于单字节字符。

在 C++ 中,获取字符的 ASCII 码非常简单,因为字符本质上就是以 ASCII 值存储的整数。只需要将 char 类型变量赋值给 int 类型变量,或者进行强制类型转换即可得到对应的 ASCII 码。

直接赋值转换

由于 char 在底层是用 ASCII 值表示的,可以直接赋值给整型变量来获取其 ASCII 码。

#include 
using namespace std;

int main() {
    char ch = 'A';
    int ascii = ch;  // 自动转换为 ASCII 码
    cout << "字符 '" << ch << "' 的 ASCII 码是: " << ascii << endl;
    return 0;
}

输出结果:

字符 'A' 的 ASCII 码是: 65

使用强制类型转换

也可以显式地使用 (int) 进行类型转换,增强代码可读性。

char ch = 'a';
cout << "字符 '" << ch << "' 的 ASCII 码是: " << (int)ch << endl;

输出结果:

字符 'a' 的 ASCII 码是: 97

处理字符串中的每个字符

如果想获取字符串中每一个字符的 ASCII 码,可以用循环遍历。

#include 
#include 
using namespace std;

int main() {
    string str = "Hello";
    for (char c : str) {
        cout << "字符 '" << c << "' -> ASCII: " << (int)c << endl;
    }
    return 0;
}

输出示例:

字符 'H' -> ASCII: 72
字符 'e' -> ASCII: 101
字符 'l' -> ASCII: 108
字符 'l' -> ASCII: 108
字符 'o' -> ASCII: 111

基本上就这些。C++ 中字符转 ASCII 码本质就是类型转换,操作简单高效。注意只适用于单字节字符(如英文字符),中文等宽字符不适用 ASCII 编码。