字符转ASCII码

字符转ASCII码:

public static int Asc(string character)
  {
   if (character.Length == 1)
   {
    System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
    int intAsciiCode = (int)asciiEncoding.GetBytes(character)[0];
    return (intAsciiCode);
   }
   else
   {
    throw new Exception("Character is not valid.");
   }

  }

ASCII码转字符:

public static string Chr(int asciiCode)
  {
   if (asciiCode >= 0 && asciiCode <= 255)
   {
    System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
    byte[] byteArray = new byte[] { (byte)asciiCode };
    string strCharacter = asciiEncoding.GetString(byteArray);
    return (strCharacter);
   }
   else
   {
    throw new Exception("ASCII Code is not valid.");
   }
  }

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/ldw701/archive/2006/06/01/767875.aspx

在编程中,将**字符转换ASCII **是一个常见的操作。由于字符在计算机中本质上是以整数形式(即编值)存储的,因此这个换通常是**隐式或显式类型换**的过程。 下面以 C++ 和 Python 为例详细说明如何实现: --- ### ✅ 方法一:C++ 中将字符ASCII 在 C++ 中,`char` 类型本质是 1 字节的整数,可以直接赋值给 `int` 来获取其 ASCII 值。 #### 🔧 示例代 ```cpp #include <iostream> using namespace std; int main() { char ch = 'A'; // 显式换为 int,得到 ASCII int ascii = (int)ch; // 或直接 int ascii = ch; cout << "字符 '" << ch << "' 的 ASCII 是: " << ascii << endl; // 更多例子 cout << "'a' -> " << (int)'a' << endl; // 97 cout << "'0' -> " << (int)'0' << endl; // 48 cout << "' ' -> " << (int)' ' << endl; // 32 (空格) cout << "'\\n' -> " << (int)'\n' << endl; // 10 (换行符) return 0; } ``` > 输出结果: ``` 字符 'A' 的 ASCII 是: 65 'a' -> 97 '0' -> 48 ' ' -> 32 '\n' -> 10 ``` #### 💡 解释 - `'A'` 在 ASCII 表中对应十进制 **65** - 所有大写字母 `'A'~'Z'` 对应 65~90 - 小写字母 `'a'~'z'` 对应 97~122 - 数字字符 `'0'~'9'` 对应 48~57 你可以通过 `(int)ch` 或直接赋值来获取 ASCII 值。 --- ### ✅ 方法二:Python 中将字符ASCII Python 使用内置函数 `ord()` 来获取字符ASCII(或 Unicode)点。 #### 🔧 示例代 ```python ch = 'A' ascii_code = ord(ch) # get ASCII value print(f"字符 '{ch}' 的 ASCII 是: {ascii_code}") # 更多示例 print(f"'a' -> {ord('a')}") # 97 print(f"'0' -> {ord('0')}") # 48 print(f"' ' -> {ord(' ')}") # 32 print(f"'\\n' -> {ord('\n')}") # 10 ``` > 输出结果: ``` 字符 'A' 的 ASCII 是: 65 'a' -> 97 '0' -> 48 ' ' -> 32 '\n' -> 10 ``` 📌 `ord()` 函数适用于所有 Unicode 字符,对于英文字符返回的就是 ASCII 值。 --- ### ✅ 反向操作:ASCII 字符 | 语言 | 方法 | |------|------| | C++ | `char ch = (char)65;` → `'A'` | | Python | `chr(65)` → `'A'` | #### 示例(C++) ```cpp int code = 65; char ch = (char)code; cout << "ASCII " << code << " 对应字符: " << ch << endl; // A ``` #### 示例(Python) ```python code = 65 ch = chr(code) print(f"ASCII {code} 对应字符: {ch}") # A ``` --- ### 📚 ASCII表(常用部分) | 字符 | ASCII | |------|----------| | `'0'` ~ `'9'` | 48 ~ 57 | | `'A'` ~ `'Z'` | 65 ~ 90 | | `'a'` ~ `'z'` | 97 ~ 122 | | 空格 `' '` | 32 | | 换行 `\n` | 10 | | 回车 `\r` | 13 | --- ### ⚠️ 注意事项 1. **区分字符与数字** `'1'` 是字符ASCII 是 49;而 `1` 是整数,值就是 1。 2. **字符串不能直接用 `ord` 或强** 要逐个字符处理: ```python for c in "Hello": print(c, ord(c)) ``` 3. **扩展 ASCII 和 Unicode** 标准 ASCII 是 0~127,但现代系统使用 Unicode(如 UTF-8),支持更多字符。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值