bit,byte,char,string区别与基本类型认识
bit、byte、位、字节、汉字的关系
1 bit = 1 二进制数据
1 byte = 8 bit
1 字母 = 1 byte = 8 bit
1 汉字 = GBK编码,一个中文=2byte,如果是UTF-8编码,一个中文=3byte
1. bit:位
一个二进制数据0或1,是1bit;
2. byte:字节
存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节;
1 byte = 8 bit
3. 一个英文字符占一个字节;
1 字母 = 1 byte = 8 bit
4. 一个汉字占2/3个字节;
1 汉字 = GBK编码,一个中文=2byte,如果是UTF-8编码,一个中文=3byte
5. 标点符号
A>. 汉字输入状态下,默认为全角输入方式;
B>. 英文输入状态下,默认为半角输入方式;
C>. 全角输入方式下,标点符号占2字节;
D>. 半角输入方式下,标点符号占1字节;
故:汉字输入状态下的字符,占2个字节 (但不排除,自己更改了默认设置);
英文输入状态下的字符,占1个字节 (但不排除,自己更改了默认设置);
老美在发明电脑时,肯定以自己的英文字母--即他们自认为的字符为最小的存储计量单位,于是也就有了不规范的1字符=1byte, 岂不知还有我们伟大的汉字计量单
位,NND,一个汉字也是一个字符,我们的1汉字字符就等于2byte,后来,他们可能意识到这个尴尬的问题,于是又标榜为:一个字母为一个标准字符,去球吧,谁
整天没事说个字符还“标准字符”,所以啊,个人认为:字符,不能用于标准的计量单位。
bit,byte,char,string区别与基本类型认识的更多相关文章
- char和unsigned char--数据类型区别
char和unsigned char --数据类型区别 除去布尔型和扩展的字符型之外,其它整型可以划分为带符号的(signed)和无符号的(unsigned)两种. 类型int.short.long和 ...
- CString与string、char*的区别和转换
转自:http://blog.csdn.net/luoweifu/article/details/20232379 我们在C++的开发中经常会碰到string.char*以及CString,这三种都表 ...
- 【转】CString与string、char*的区别和转换
我们在C++的开发中经常会碰到string.char*以及CString,这三种都表示字符串类型,有很多相似又不同的地方,常常让人混淆.下面详细介绍这三者的区别.联系和转换: 各自的区别 char*: ...
- JAVA里的单引号和双引号及String和char的区别
JAVA里的单引号和双引号及String和char的区别 单引号引的数据 是char类型的双引号引的数据 是String类型的单引号只能引一个字符而双引号可以引0个及其以上 ************* ...
- C# byte[]与char[]、string与char[]、byte[] 与 string 互转
1. byte array -> char array Byte[] b=new byte[5]{0x01,0x02,0x03,0x04,0x05}; Char[] c=Encoding.AS ...
- string 与 char 的区别
1.char是字符类型 2.string是字符串类型 虽然一字之差,但其本质是很大的. 1. char属于基础类型(C++),在C#中它属于值类型(Value Type).char类型的长度是固定的, ...
- C++string,char* 字符数组,int类型之间的转换
string.int 常见类型之间相互转换 int & string 之间的转换 C++中更多的是使用流对象来实现类型转换 针对流对象 sstream实现 int,float 类型都可以实现 ...
- C#中char[]与string之间的转换;byte[]与string之间的转化
目录 1.char[]与string之间的转换 2.byte[]与string之间的转化 1.char[]与string之间的转换 //string 转换成 Char[] string str=&qu ...
- C++ 中 string和char* 的区别
C++ 中 string和char* 的区别 1.定义: string:string是STL当中的一个容器,对其进行了封装,所以操作起来非常方便. char*:char *是一个指针,可以指向一个字符 ...
随机推荐
- bzoj2738
感人肺腑pascal过不去系列,跪求开O2先不说这个了,学完cdq分治之后又顺手学了一下整体二分感觉这两个东西很多相似的地方,干脆都叫cdq分治好了二分解决k小就是设当前二分的答案为m,把x<= ...
- C# DataGridView添加新行的2个方法
可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行 ...
- BZOJ_[HNOI2008]_Cards_(置换+Burnside引理+乘法逆元+费马小定理+快速幂)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1004 共n个卡片,染成r,b,g三种颜色,每种颜色的个数有规定.给出一些置换,可以由置换得到的 ...
- 用Remastersys定制自己的Ubuntu安装光盘
这两天因为要做Ubuntu的平台移植,一直在给自己电脑上的Ubuntu系统装各种软件,其间几次将内核破坏,导致不得不重装系统,经过几次痛苦的等待,痛定思痛,决定试一试能不能将自己的Ubuntu系统定制 ...
- winhex的使用
1. 当我们用VC编写代码,将数据写入到磁盘的文件后,用winhex查看,winhex可以检测文件最后写入时间的变动,如果有变动,则会提示“此文件的最后写入时间已经改变.解除当前状态并重新载入吗?”, ...
- 一行代码搞定Adapter
15年Google I/O大会发不了三个重要支持库 >Material design (Android Support Design) >百分比布局:Percent support lib ...
- Android学习笔记(1)—Android Studio安装
Android Studio 是一个全新的 Android 开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工 ...
- 解决 EF 分层查询的一个性能问题[转]
前两年帮朋友 做了个网吧管理软件,采用动软的三层架构 sql语句生成的.最近因功能变更 要改动,而我这段正在做asp.net mvc +ef+autofac的一个电商网站.索性 就把原来的底层全重新了 ...
- 【原】Redis学习资料推荐
Redis学习资料推荐 网址: Redis官网http://redis.io/ Redis命令 http://redis.io/commands Redis教程 https://www.tutoria ...
- Azure VM对远程桌面登录的支持-示例
我们在开发Windows Azure的应用程序,虽然在大部分的情况下都可以使用Azure Emulator模拟器来模拟在云端计算节点(Azure VM)的执行结果,但是并不能100%模拟真正在Azur ...