ASCII 码在编程中的常见应用场景:
1. 字符验证:
python# 验证是否为字母 def is_letter(char): return 'A' <= char <= 'Z' or 'a' <= char <= 'z' # 验证是否为数字 def is_digit(char): return '0' <= char <= '9' # 验证是否为可打印字符 def is_printable(char): return 32 <= ord(char) <= 126
2. 字符转换:
python# 大小写转换 def to_upper(char): if 'a' <= char <= 'z': return chr(ord(char) - 32) return char def to_lower(char): if 'A' <= char <= 'Z': return chr(ord(char) + 32) return char
3. 字符串处理:
python# 移除空白字符 def trim_whitespace(s): return s.strip() # 移除空格(32)、制表符(9)、换行符(10/13)等 # 统计字符类型 def count_chars(s): letters = digits = others = 0 for c in s: if 'A' <= c <= 'Z' or 'a' <= c <= 'z': letters += 1 elif '0' <= c <= '9': digits += 1 else: others += 1 return letters, digits, others
4. 数据编码:
python# Base64 编码(基于 ASCII) import base64 encoded = base64.b64encode(b'Hello').decode('ascii') # URL 编码 from urllib.parse import quote encoded = quote('Hello World', safe='')
5. 网络协议:
- HTTP 头部使用 ASCII 编码
- SMTP、FTP 等协议基于 ASCII
- JSON 字符串使用 ASCII 字符
6. 文件处理:
python# 读取 ASCII 文本文件 with open('file.txt', 'r', encoding='ascii') as f: content = f.read()
注意事项:
- 处理非 ASCII 字符时使用 Unicode
- 注意换行符差异(CRLF vs LF)
- 验证输入字符的有效性