乐闻世界logo
搜索文章和话题

ASCII

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一种字符编码标准,用于代表文本在计算机、通讯设备及其他使用文本的设备中的字符。ASCII 最初于1963年被发布,并在1986年被 ANSI(American National Standards Institute,美国国家标准化管理委员会)标准化。
ASCII
查看更多相关内容
如何判断字符串是否为纯 ASCII 字符串如何判断一个字符串是否为纯 ASCII 字符串: **方法 1:Python 实现** ```python def is_ascii(s): try: s.encode('ascii') return True except UnicodeEncodeError: return False # 或使用 ord() 函数 def is_ascii_v2(s): return all(ord(c) < 128 for c in s) ``` **方法 2:JavaScript 实现** ```javascript function isASCII(str) { return /^[\x00-\x7F]*$/.test(str); } // 或使用 codePointAt() function isASCIIV2(str) { for (let i = 0; i < str.length; i++) { if (str.codePointAt(i) > 127) { return false; } } return true; } ``` **方法 3:Java 实现** ```java public static boolean isASCII(String str) { return str.chars().allMatch(c -> c < 128); } // 或使用正则表达式 public static boolean isASCIIV2(String str) { return str.matches("\\A\\p{ASCII}*\\z"); } ``` **方法 4:C/C++ 实现** ```c #include <stdbool.h> #include <string.h> bool is_ascii(const char* str) { for (size_t i = 0; str[i] != '\0'; i++) { if ((unsigned char)str[i] > 127) { return false; } } return true; } ``` **方法 5:Go 实现** ```go func isASCII(s string) bool { for _, r := range s { if r > 127 { return false } } return true } ``` **性能优化建议:** 1. 提前终止:发现非 ASCII 字符立即返回 2. 批量检查:使用 SIMD 指令加速(C/C++) 3. 缓存结果:对重复检查的字符串缓存结果 4. 使用正则表达式:适合简单场景 **注意事项:** - 空字符串视为 ASCII 字符串 - 控制字符(0-31)也是 ASCII - 注意字符串编码格式 - 考虑 Unicode 组合字符
计算机基础 · 2026年2月21日 16:18
ASCII 码在编程中的常见应用场景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) - 验证输入字符的有效性
计算机基础 · 2026年2月21日 16:18