zoukankan      html  css  js  c++  java
  • 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常量,可以解决多语言字符集之间的转换问题。

  • 相关阅读:
    Linux环境下使用eclipse开发C++动态链接库程序
    例解 autoconf 和 automake 生成 Makefile 文件
    linux下编译boost
    在linux下如何编译C++程序
    windows和linux套接字中的select机制浅析
    看到关于socket非阻塞模式设置方式记录一下。
    MySQL批量执行sql文件
    Sqlcmd使用详解
    批量执行SQL文件
    SpringCloud微服务之跨服务调用后端接口
  • 原文地址:https://www.cnblogs.com/aehyok/p/3092496.html
Copyright © 2011-2022 走看看