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

面试题手册

如何判断字符串是否为纯 ASCII 字符串

如何判断一个字符串是否为纯 ASCII 字符串:方法 1: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 实现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 实现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++ 实现#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 实现func isASCII(s string) bool { for _, r := range s { if r > 127 { return false } } return true}性能优化建议:提前终止:发现非 ASCII 字符立即返回批量检查:使用 SIMD 指令加速(C/C++)缓存结果:对重复检查的字符串缓存结果使用正则表达式:适合简单场景注意事项:空字符串视为 ASCII 字符串控制字符(0-31)也是 ASCII注意字符串编码格式考虑 Unicode 组合字符
阅读 0·2026年2月21日 16:18

ASCII 码在编程中的常见应用场景

ASCII 码在编程中的常见应用场景:1. 字符验证:# 验证是否为字母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) <= 1262. 字符转换:# 大小写转换def to_upper(char): if 'a' <= char <= 'z': return chr(ord(char) - 32) return chardef to_lower(char): if 'A' <= char <= 'Z': return chr(ord(char) + 32) return char3. 字符串处理:# 移除空白字符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, others4. 数据编码:# Base64 编码(基于 ASCII)import base64encoded = base64.b64encode(b'Hello').decode('ascii')# URL 编码from urllib.parse import quoteencoded = quote('Hello World', safe='')5. 网络协议:HTTP 头部使用 ASCII 编码SMTP、FTP 等协议基于 ASCIIJSON 字符串使用 ASCII 字符6. 文件处理:# 读取 ASCII 文本文件with open('file.txt', 'r', encoding='ascii') as f: content = f.read()注意事项:处理非 ASCII 字符时使用 Unicode注意换行符差异(CRLF vs LF)验证输入字符的有效性
阅读 0·2026年2月21日 16:18