单字节指只占一个字,是英文字符。双字是占两个字节的,中文字符都占两个字节
计算机中的数据都是以0和1来表示的,其中一个0或者一个1称之为一位,8位称为一个字节(Byte),两个字节称为一个字(Word)(双字节),4个字节称为双字(Dword)(四字节)。
单字节的英文是Byte;比特是最小的数值单位,它的英文是Bit。
一个字节包含8个比特,通常计算机初学者接触到的ASCII码就是单字节字符,由于计算机是二进制的,1个比特位只可以表示为0或者1这两种数,那8个比特(一般从右至左)就可以有0~127(2的8次方再减1)的不同的数值表示。
双字节字符即是包含了两个字节共16比特。
一般比较好理解的就是:英文字母属于单字节字符,而汉字则属于双字节字符。因为英文字母、数字、符号等完全可以用128种不同的数值来表示,而汉字太多则不能,所以才需要扩展到双字节。
-
单字节、双字节、4字节都是什么意思
2017-12-07 16:27:00双字是占两个字节的,中文字符都占两个字节 计算机中的数据都是以0和1来表示的,其中一个0或者一个1称之为一位,8位称为一个字节(Byte),两个字节称为一个字(Word)(双字节),4个字节称为双字(Dword)(四字节)。...转载于:https://www.cnblogs.com/vali/p/7999710.html
-
关于java的双字节流_关于java:字节流和字符流
2021-03-12 20:00:18这些到底是什么意思? Microsoft Word文档是面向字节还是面向字符?谢谢亲爱的唐纳德-请鼓励作者提供一个更好的问题,不要留下您为什么决定唐纳德的投票(我个人没有强烈的理由)在记事本中打开MS Word文档。 你看到...请解释什么是字节流和字符流。 这些到底是什么意思? Microsoft Word文档是面向字节还是面向字符?
谢谢
亲爱的唐纳德-请鼓励作者提供一个更好的问题,不要留下您为什么决定唐纳德的投票(我个人没有强烈的理由)
在记事本中打开MS Word文档。 你看到了什么? 就像在记事本中打开exe一样的垃圾? 然后它是二进制数据:)
我对这篇文章投了赞成票,因为我从这篇文章中看到的是字节流和字符流之间的混淆。 使用记事本来解释问题是没有意义的。 在我看来,下选民似乎很自大。
流是顺序访问文件的一种方式。字节流逐字节访问文件。字节流适用于任何类型的文件,但不适用于文本文件。例如,如果文件使用unicode编码,并且一个字符用两个字节表示,则字节流将分别处理这些字节,您需要自己进行转换。
字符流将逐字符读取文件。字符流需要使用文件的编码才能正常工作。
尽管Microsoft Word文档包含文本,但是无法使用字符流(它不是文本文件)进行访问。您需要使用字节流来访问它。
感谢kgiannakakis,.txt文件呢?
字符流适合读取.txt文件。 正如我所说,您需要了解文本文件的编码。
我问的是Windows OS中存在的.txt文件
@JavaUser不管您在哪个操作系统上都拥有.txt文件,它都可以采用任何字符编码,并且通常无法明确检测.txt文件中使用的字符编码。 最常见的编码是ISO-8859-1和UTF-8。
如果您使用一种新的XML格式,则您的Word文档可能是文本格式:-)
字节流:
从oracle文档页面中有关字节流的信息:
Programs use byte streams to perform input and output of 8-bit bytes. All byte stream classes are descended from InputStream and OutputStream.
何时使用:
字节流仅应用于最原始的I / O
何时不使用:
您不应使用字节流读取字符流
例如读取文本文件
字符流:
从oracle文档页面中有关字符流的信息:
The Java platform stores character values using Unicode conventions. Character stream I/O automatically translates this internal format to and from the local character set.
所有字符流类均来自Reader和Writer。
字符流通常是字节流的"包装器"。字符流使用字节流执行物理I / O,而字符流则处理字符和字节之间的转换。
有两个通用的字节到字符"桥"流:InputStreamReader和OutputStreamWriter。
何时使用:
从字符Socket或File读取字符流
综上所述:
字节流一次读取和写入一个字节。在处理更复杂的数据时,我们必须避免使用字节流。
字符流和其他可用流应用于处理复杂的数据。
这些概念始终是个谜。 题
1.面向字符与数据类型相关。只能读取字符串类型或字符类型,而面向字节的数据不与任何数据类型绑定,可以读取任何数据类型的数据(字符串除外),只需指定即可。
2.面向字符的读取字符,而面向字节的读取字节
3,面向字符的流使用字符编码方案(UNICODE),而面向字节的流不使用任何编码方案
4,面向字符的流也称为读写流
面向字节的流称为数据流-数据输入流和数据输出流
读这个。它告诉您字节和字符之间的区别(以及其他有用内容的负载)
字符流将逐字符读取文件。字符流可以读取16位字符(字节流可以读取8位字符)。字符流能够将8位数据隐式转换为16位数据,反之亦然。字符流可以支持所有类型的字符集ASCII,Unicode,UTF-8,UTF-16等,但是字节流仅适用于ASCII字符集.Java平台使用Unicode约定存储字符值。字符流I / O自动将此内部格式与本地字符集转换。
除非使用图像和声音文件等二进制数据,否则应使用读取器和写入器通过字符流读取和写入信息。
-
T-SQL 字符串前加 N 是什么意思
2019-06-24 22:52:14N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了,对于东方文字字符,就需要两个字节来存储。Unicode 为了统一、规范、方便、兼容,就规定西文字符也用两个字节来存储。也就是说加.....比如 select @status = N'stopped'
那么其中的字符串 stopped 前面为什么要加 N 呢?而且我们发现有些地方加 N 与否都没有影响,有些地方又必须加 N。
N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了,对于东方文字字符,就需要两个字节来存储。Unicode 为了统一、规范、方便、兼容,就规定西文字符也用两个字节来存储。
也就是说加 N 就表示字符串用 Unicode 方式存储。
但有时候加与不加都一样,又是什么原因呢?这是由于自动转换造成的。
比如:
declare @status nvarchar(20)
select @status = N'stopped'
select @status = 'stopped'
实际上上述两句赋值的结果是一样的,因为变量类型就是 nvarchar(Unicode 类型)。
而有些地方(比如:sp_executesql 的参数)不能自动转换,所以需要加 N 了。转载于:https://www.cnblogs.com/henryhappier/archive/2010/01/25/1656153.html
-
T-SQL字符串前加N是什么意思
2013-09-23 15:58:24T-SQL字符串前加N是什么意思 比如 select @status = N'stopped' ...N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了,对于东方文字字符,就需要两个字节来存储。T-SQL字符串前加N是什么意思比如 select @status = N'stopped'那么其中的字符串 stopped 前面为什么要加 N 呢?而且我们发现有些地方加 N 与否都没有影响,有些地方又必须加 N。 www.2cto.comN 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了,对于东方文字字符,就需要两个字节来存储。Unicode 为了统一、规范、方便、兼容,就规定西文字符也用两个字节来存储。也就是说加 N 就表示字符串用 Unicode 方式存储。但有时候加与不加都一样,又是什么原因呢?这是由于自动转换造成的。比如:declare @status nvarchar(20)select @status = N'stopped'select @status = 'stopped'实际上上述两句赋值的结果是一样的,因为变量类型就是 nvarchar(Unicode 类型)。而有些地方(比如:sp_executesql 的参数)不能自动转换,所以需要加 N 了。 -
[MSSQL]T-SQL 字符串前加 N 是什么意思
2010-10-21 15:27:00N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了,对于东方文字字符,就需要两个字节来存储。Unicode 为了统一、规范、方便、兼容,就规定西文字符也用两个字节来存储。 -
VS2015里使用UNICODE字符集是个什么意思
2016-03-27 04:22:02Win32项目的工程,指定使用UNICODE字符集是指,所有API函数被调用时,都自动调用 宽字符版吗,还是把单字节的常量/变量统统转换为双字节版。。。VC++6.0没有这个设置 直接用宏搞定多好。。。 -
【SQL SERVER】T-SQL 字符串前加 N 是什么意思
2019-09-26 18:13:29N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了,对于东方文字字符,就需要两个字节来存储。Unicode 为了统一、规范、方便、兼容,就规定西文字符也用两个字节... -
T-SQL 字符串前加 N 是什么意思
2011-04-13 08:46:00N 在这里表示 Unicode,就是双字节字符。对于西文字符,用一个字节来存储过足够了,对于东方文字字符,就需要两个字节来存储。Unicode 为了统一、规范、方便、兼容,就规定西文字符也用两个字节来存储。 ... -
计算机bit是什么意思
2018-11-08 10:25:00bit是计算机中数据的最小单位,即二进制位,数字0和1 一个字节是八位(8个0和1 或 1 组成的一串二进制) ...用16位二进制数表示的字符叫双字节字符 转载于:https://www.cnblogs.com/baxianhua/p/9927587.html... -
C++语言中“_T”是什么意思?
2020-05-10 12:29:24而后者是双字节方式,方便处理双字节字符。 Windows NT的所有与字符有关的函数都提供两种方式的版本,而Windows 9x只支持ANSI方式。 如果你编译一个程序为ANSI方式, _T实际不起任何作用。 而如果编译一个程序为... -
C++ - _T含义 C++语言中“_T”是什么意思
2019-11-18 14:48:49_T("Hello")是一个宏,他的作用是让你的程序支持Unicode编码,因为Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。... -
c语言中aver是什么意思_C语言中%d和%f是什么意思啊?
2021-01-05 23:29:52在C语言中输出不同数据时需要用到不同的格式字符,%d是用来输出十进制整型数据的实际长度输出,%f是以小数形式输出单、双精度度数。以下是详细介绍: 1、%d表示输入或输出十进制有符号数; 2、%f表示输入或输出... -
C++ - _T含义 C++语言中“_T”是什么意思?
2013-07-24 08:51:49_T("Hello")是一个宏,他的作用是让你的程序支持Unicode编码,因为Windows使用两种字符集ANSI和UNICODE,前者就是通常使用的单字节方式,但这种方式处理象中文这样的双字节字符不方便,容易出现半个汉字的情况。...