前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >C#字符串(字节)的长度

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

作者头像
aehyok
发布于 2018-09-11 04:57:36
发布于 2018-09-11 04:57:36
5.2K00
代码可运行
举报
文章被收录于专栏:技术博客技术博客
运行总次数:0
代码可运行

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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常量,可以解决多语言字符集之间的转换问题。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013-05-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
varchar2和varchar2(char)_datetime数据类型
大家好,又见面了,我是你们的朋友全栈君。char varchar varchar2 的区别 区别: 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc”,对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。 2.CHAR的效率比VARCHAR2的效率稍高。 3. 目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。
全栈程序员站长
2022/08/03
7670
数据库中char varchar nchar nvarchar的区别
我们在进行数据库的设计的时候,很多情况下表中的字段都是用的是字符串类型的数据,其中就有四种选择char varchar nchar nvarchar,我们该如何进行?
瑞新
2020/07/08
7650
SQLServer中char、varchar、nchar、nvarchar的区别:
nvarchar(n) :包含 n个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。
孙晨c
2019/09/05
6K0
SQLServer中char、varchar、nchar、nvarchar的区别:
nvarchar,nchar,vchar,nvchar,char…
nvarchar,nchar,vchar,nvchar,char,ntext,text区别详解 联机帮助上的:
恋喵大鲤鱼
2018/08/03
1K0
nchar,char,varchar与nvarchar区别「建议收藏」
今天建合作用的数据库,发现每个字段默认的类型为nchar(10),以前我们经常接触的也就是char和varchar,那前面加了n之后会有什么不同呢?
全栈程序员站长
2022/08/09
7160
sqlite 数据类型
一般数据采用固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断。
阳光岛主
2019/02/19
2.4K0
SQL Server常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅。 整数类型 int  存储范围是-2,147,483,648到2,147,483,647之间的整数,主键列常设置此类型。 (每个数值占用 4字节) smallint  存储范围是-32,768 到 32,767 之间的整数,用来存储限定在特定数值范围内的数据。 (每个数值占用 2 字节) tinyint  存储范围是0到255 之间的整
Esofar
2018/09/05
5800
sql serve中的数据类型(详解)
数据可存储范围: 可以存储-2^31 ~ 2^31-1之间所有的 正负整数, 占用空间: 4个字节(每个int类型数据).
初阶牛
2022/12/06
2.9K0
sql serve中的数据类型(详解)
数据库 — char、varchar、varchar2区别
char是定长的,varchar是变长的。varchar2应该是varchar的升级,只有ORACLE才有,这里不作讨论。
全栈程序员站长
2022/09/06
7310
一文读懂数据库的文本数据类型:CHAR,VARCHAR,TEXT,BLOG,NCHAR、NVARCHAR、NTEXT
CHAR 用于存储固定长度的数据,CHAR字段上的索引效率级高,但是不适用于字符长度不确定的数据。比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。
白墨石
2021/01/13
3.1K0
SQL Server中char、nchar、varchar、nvarchar的区别
对于程序中的一般字符串类型的字段,SQL Server中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。
用户7353950
2022/06/23
1.6K0
SQL Server中char、nchar、varchar、nvarchar的区别
常用的数据库的字段类型及大小比较_sql字段长度
ORACLE的数据类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 bytes ` VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749 NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题 LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作 RAW 固定长度的二进制数据 最大长度2000 bytes 可存放多媒体图象声音等 LONG RAW 可变长度的二进制数据 最大长度2G 同上 BLOB 二进制数据 最大长度4G CLOB 字符数据 最大长度4G NCLOB 根据字符集而定的字符数据 最大长度4G BFILE 存放在数据库外的二进制数据 最大长度4G ROWID 数据表中记录的唯一行号 10 bytes **.*.*格式,*为0或1 NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes NUMBER(P,S) 数字类型 P为整数位,S为小数位 DECIMAL(P,S) 数字类型 P为整数位,S为小数位 INTEGER 整数类型 小的整数 FLOAT 浮点数类型 NUMBER(38),双精度 REAL 实数类型
全栈程序员站长
2022/10/04
3.9K0
常用的数据库的字段类型及大小比较_sql字段长度
C#.Net筑基-String字符串超全总结 [深度好文]
字符串是日常编码中最常用的引用类型了,可能没有之一,加上字符串的不可变性、驻留性,很容易产生性能问题,因此必须全面了解一下。
郑子铭
2024/07/12
5940
C#.Net筑基-String字符串超全总结 [深度好文]
数据库char varchar nchar nvarchar,编码Unicode,UTF8,GBK等,Sql语句中文前为什么加N(一次线上数据存储乱码排查)
背景 公司有一个数据处理线,上面的数据经过不同环境处理,然后上线到正式库。其中一个环节需要将数据进行处理然后导入到另外一个库(Sql Server)。这个处理的程序是老大用python写的,处理完后进
SpringSun
2020/08/11
2.3K0
数据库char varchar nchar nvarchar,编码Unicode,UTF8,GBK等,Sql语句中文前为什么加N(一次线上数据存储乱码排查)
C#中字符串的深入剖析
在C#中,字符串是一种不可变类型,它在实例化时会分配一段内存,用于存储字符串的字符序列。字符串的底层实现是使用Unicode字符集,每个字符占用2个字节的内存空间(即16位)。由于字符串是不可变的,因此对字符串的任何修改都会导致创建新的字符串实例。
软件架构师Michael
2024/03/04
3380
Transact-SQL基础
Transact-SQL(又称 T-SQL),是在 Microsoft SQL Server 和 Sybase SQL Server 上的 ANSI SQL 实现,与 Oracle 的 PL/SQL 性质相近(不只是实现 ANSI SQL,也为自身数据库系统的特性提供实现支持),在 Microsoft SQL Server 和 Sybase Adaptive Server 中仍然被使用为核心的查询语言。
fireWang
2020/02/18
3.5K0
MySQL字符集
3、字符无需区分大小写时,采用默认的xx_ci校验集可以,否则选择xx_bin校验集(生产环境中,尽量不要修改校验集)
星哥玩云
2022/08/18
3.7K0
C# 字符串操作详解
作用:判断传入的字符串是不是当前字符串的开头,可设置比较类型(二进制比较、忽略语言文化比较、按当前线程的语言文化比较)
郑小超.
2018/08/01
1.6K0
C# 字符串操作详解
SQL SERVER的数据类型
    数据类弄是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer 提供了 25 种数据类型:   ·Binary [(n)]   ·Varbinary [(n)]   ·Char [(n)]   ·Varchar[(n)]   ·Nchar[(n)]   ·Nvarchar[(n)]   ·Datetime   ·Smalldatetime   ·Decimal[(p[,s])]   ·Numeric[(p[,s])]   ·Float[(n)]   ·Real   ·Int   ·Smallint   ·Tinyint   ·Money   ·Smallmoney   ·Bit   ·Cursor   ·Sysname   ·Timestamp   ·Uniqueidentifier   ·Text   ·Image   ·Ntext
Tony老师
2020/03/05
1.6K0
SQL Server 数据类型
数据类型是数据的一种属性,表示数据信息的类型,任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer 提供了 25 种数据类型:   ·Binary [(n)]   ·Varbinary [(n)]   ·Char [(n)]   ·Varchar[(n)]   ·Nchar[(n)]   ·Nvarchar[(n)]   ·Datetime   ·Smalldatetime   ·Decimal[(p[,s])]   ·Numeric[(p[,s])]   ·Float[(n)]   ·Real   ·Int   ·Smallint   ·Tinyint   ·Money   ·Smallmoney   ·Bit   ·Cursor   ·Sysname   ·Timestamp   ·Uniqueidentifier   ·Text   ·Image   ·Ntext
阳光岛主
2019/02/19
2.1K0
推荐阅读
相关推荐
varchar2和varchar2(char)_datetime数据类型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档