首先要明确的是在我们写入到数据库db中的字段的长度varchar(10),这个10是代表是十个字节
1字节(Byte)=8字位bai=8个二du进制zhi数 1字位(bit)=1个二进制数 1B=8b 1KB=1024B 1MB=1024KB 1GB=1024MB
通常情况下,把baiB称为字节、b称为字位、KB称为千字节、MB称为兆字节、GB称为吉字节
字节是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位
那么有的时候,一堆复杂的字符怎么算呐,难受:
ROG幻15 15.6英寸4K屏创意设计师本(R9 - 5900HS / GeForce RTX™3070 / 16G / 1TGSSD)月耀白
这个网址计算的是:83个字符,大差不差
在网上找的一个方法,大差不差,字节多少,还跟编码有关系,
public static int returnNum(string str) { int charNum = 0; //统计字节位数 char[] _charArray = str.ToCharArray(); for (int i = 0; i < _charArray.Length; i++) { char _eachChar = _charArray[i]; if (_eachChar >= 0x4e00 && _eachChar <= 0x9fa5) //判断中文字符 charNum += 2; else charNum += 1; } return charNum; }
1.在C# 语言中使用string 字符串Unicode 编码 2.在C#语言中常用汉字 占 3个字节 方式1:使用默认编码类获取字节长度 Console.WriteLine(Encoding.Default.GetByteCount("张三"));//输出:6 //常用 一个字母,数字 一个字节 Console.WriteLine(Encoding.Default.GetByteCount("ab")); //输出:2 方式2: //常用汉字 ,一个汉字 3个字节 Console.WriteLine(ASCIIEncoding.Default.GetBytes("张网").Length); //输出:6 Console.WriteLine(UnicodeEncoding.Default.GetBytes("张网").Length); //输出:6 二、在字符串判断中,由于中文和英文 占据宽度不同,有时需要根据字节长度控制字符串数量 会用到字节长度判断。