• 判断字节字数


    首先要明确的是在我们写入到数据库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
    二、在字符串判断中,由于中文和英文 占据宽度不同,有时需要根据字节长度控制字符串数量
    会用到字节长度判断。
    人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。
  • 相关阅读:
    移动端布局四: rem适配布局,em和rem介绍,媒体查询显示不同样式,媒体查询调用不同css样式
    移动端布局三: flex布局
    InnoDB存储引擎 (第4章 表)
    InnoDB存储引擎 (第3章 文件)
    《MySQL技术内幕:InnoDB存储引擎》笔记
    InnoDB存储引擎 (第2章 InnoDB存储引擎)
    InnoDB存储引擎 (第1章 MySQL体系结构和存储引擎)
    MySql 技术内幕 (第10章 分区)
    MySql 技术内幕 (第9章 索引)
    MySql 技术内幕 (第6章 聚合和旋转操作)
  • 原文地址:https://www.cnblogs.com/ZkbFighting/p/14392347.html
Copyright © 2020-2023  润新知