为何使用strrev函数反转字符"ç"会变为问号?技术咨询
为什么strrev反转含特殊字符的字符串会出现问号?
strrev是专门处理单字节ASCII字符的函数,它默认把每个字节当作一个独立字符来处理。- 像
ç这类带重音的字符,在UTF-8编码中是双字节存储的(比如ç对应的编码是0xC3 0xA7)。strrev反转时会把这两个字节拆分开颠倒顺序,变成0xA7 0xC3,这组字节组合起来不是合法的UTF-8字符,所以会显示成问号?。 - 你测试的"salut ça va"里的
ç被拆成两个字节反转,原本的双字节字符变成了两个无效字节,因此结果里出现两个问号替代了原字符。
内容的提问来源于stack exchange,提问作者Mateo G
相关产品推荐
相关产品推荐

