我是.NET开发人员,我不相信我对编码知之甚少。我读过这篇文章:http://www.joelonsoftware.com/articles/Unicode.html。
说我声明这个字符串:
Dim TestString As String = "1"
我相信这将表示为Unicode字符。假设我声明这个整数:
Dim TestInt As Integer = 1
这是如何表现的?我假设没有使用Unicode?即它仅用于字符串和字符?那是对的吗?因此,我相信在32位机器上,1只能表示为:
00000000 0000000 0000000 00000001
数字数据类型是否有字节顺序标记:http://en.wikipedia.org/wiki/Byte_order_mark?
答案 0 :(得分:1)
.NET中的所有字符串都是UTF-16。从语言规范:
Visual Basic .NET定义了以下基本类型:
...
- Char值类型,表示单个Unicode字符和 映射到System.Char ...
- String引用类型,即 表示一系列Unicode字符并映射到System.String ...
为什么整数值类型如整数在计算机内存中用Unicode表示? Unicode是(引自Wikipedia):
一种计算行业标准,用于在世界上大多数书写系统中表达的文本的一致编码,表示和处理。
所以是的,它只用于字符串和字符。
另请注意,无论您使用32位还是64位计算机,Integer
始终为4字节有符号整数。
字节顺序标记是一个完全不同的主题。正如评论中已经说过的那样,它在文本文件或流中使用。