• C#字符串(字节)的长度


    这么简单的问题,我都忘记了,不知道你们还记得吗,希望你们都还记得?

    using System;
    public class Test
    {
        public static void  Main()
        {
                  string str1 = "abced.,.某某某";
                  int len2 = str1.Length;
                  int leng = System.Text.Encoding.Default.GetBytes(str1.ToCharArray()).Length;
                  Console.WriteLine("字符串为"+str1);
                  Console.WriteLine("字符串的长度"+len2);
                  Console.WriteLine("字节的长度"+leng);
                  Console.ReadLine();
        }
    }

    控制台执行结果为

    对于字节的长度一个汉字是对应两个字节的

    顺便看一下Sql Server中char nchar varchar  nvarchar

    char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达  到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。

    VARCHAR:存储变长数据,如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。

    Nchar类型和Nvarchar类型是怎么一回事呢?为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个汉字也占用两个字节,所有的字符都占用2个字节。 


        nchar(n):包含n个字符的固定长度Unicode字符数据。n的值必须介于1与4,000之间。存储大小为n字节的两倍。
      varchar(n):变长型字符数据类型,存储最长长度为8,000 个字符
      nvarchar(n):可变长度 Unicode 数据,其最大长度为 4,000 字符.字节的存储大小是所输入字符个数的两倍,就是说它是双字节来存储数据的。如果存储数据如果存在单字节时,它也是以双字节来占用存储空间的。
      varchar一般适用于英文和数字,Nvarchar适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题。

  • 相关阅读:
    ABP初始化
    ABP生成错误:必须添加对程序集“netstandard”的引用
    树莓派安装Mysql
    多对多关系的中间表命名
    dapper.net 存储过程
    Rabbitmq发送方消息确认
    Rabbitmq发送消息Message的两种写法
    ThreadLocal原理
    多模块打包为可执行jar问题
    类中属性加载顺序的demo
  • 原文地址:https://www.cnblogs.com/aehyok/p/3092496.html
Copyright © 2020-2023  润新知