mblen 和 strlen 有什么区别?
mblen 和 strlen 有什么区别?
如今,Windows、Linux 或 Mac OS 中是否使用多字节字符编码? Windows 中多字节字符编码与固定宽度字符编码相同吗?
What is the difference between mblen and strlen?
Is today multi-byte character encoding used in Windows, Linux or Mac OS? Is multi-byte character encoding same as fixed-width character encoding in Windows?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
strlen
采用const char *
的长度,并假设一个char
占用一个字节,因此它会对字符进行计数,直到出现空终止符 ( '\0') 已遇到,而mblen
也采用const char *
类型的指针,但这指向 多字节字符。有关什么是多字节字符的更多信息,请查看此问题。
strlen
takes the length of aconst char *
, and assumes that onechar
takes one byte, so it counts the chars until a null terminator ('\0') has been encountered, whereasmblen
takes a pointer also of typeconst char *
, but this points to the first byte of the multi byte character.For more info on what are multi-bye characters, have a look at this question.