A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许庭洲 黑马帝   /  2012-4-28 11:24  /  2039 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 许庭洲 于 2012-4-28 12:39 编辑

string strTmp = "abcdefg张三李四";
int m= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int n= strTmp.Length;
以上代码执行完后,m=15,n=11
请求高手,为什么m和n的长度不一样?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

8 个回复

倒序浏览
m取得的是字符串的字节数,n取得是字符串的长度

点评

非常感谢程序员毛运!  发表于 2012-4-28 12:39

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
第一种你把字符串转换成了字节当然长度会变了啊

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
第一种是字节的长度,第二种是字符串的长度,而一个汉字是占两个字节。so m是15,而n是11

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
胡杰震 来自手机 中级黑马 2012-4-28 18:03:06
报纸
一个是字符串的长度,一个是字节!肯定不一样噻!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
m=那个是字节的长度,n=那个是字符串的长度

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
m是字节的长度,n是字符串的长度,而一个汉字是占两个字节的

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
一个英文字母和数字是一个字节,而一个汉字是两个字节,所以m的值是15,n的值是11.

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
你所求的m为字符串的字节数,数字,字母为一个字节,汉字为两个字节,则为15;n为你所求字符串的长度。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马