社区
MS-SQL Server
帖子详情
请教大虾:"Unicode数据" 跟 "非Unicode数据"有什么区别?
dgseamaple
2003-05-16 02:01:26
请教大虾:"Unicode数据" 跟 "非Unicode数据"有什么区别?
可否举个例子?
...全文
360
5
打赏
收藏
请教大虾:"Unicode数据" 跟 "非Unicode数据"有什么区别?
请教大虾:"Unicode数据" 跟 "非Unicode数据"有什么区别? 可否举个例子?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dgseamaple
2003-05-16
打赏
举报
回复
那就是说:
不涉及到跨国跨语言的系统用 非 unicode 类型
涉及到跨国跨语言的系统才会用 unicode 类型
不知这样是否正确??
liukanghui
2003-05-16
打赏
举报
回复
点的空间不一样吧。
是国际
CrazyFor
2003-05-16
打赏
举报
回复
用 Unicode 数据
Unicode 标准为全球商业领域中广泛使用的大部分字符定义了一个单一编码方案。所有的计算机都用单一的 Unicode 标准 Unicode 数据中的位模式一致地翻译成字符。这保证了同一个位模式在所有的计算机上总是转换成同一个字符。数据可以随意地从一个数据库或计算机传送到另一个数据库或计算机,而不用担心接收系统是否会错误地翻译位模式。
对于用一个字节编码每个字符的数据类型,存在的问题之一就是此数据类型只能表示 256 个不同的字符。这就迫使对于不同的字母表(例如相对较小的欧洲字母表)采用多重编码规格(或者代码页)。而且也不可能处理象日文汉字或韩国文字这样具有数千个字符的字母表。
每个 Microsoft® SQL Server™ 排序规则都有一个对表示 char、varchar 和 text 值中的每个字符定义位模式进行定义的代码页。可为个别的列和字符常量指派不同的代码页。客户端计算机使用与操作系统区域设置相关联的代码页解释字符位模式。有很多种不同的代码页。一些字符出现在某些代码页上,但并不出现在其它的代码页上。某些字符在一些代码页上用一个位模式定义,而在其它的代码页上却用另一个位模式定义。当您设计必须处理不同语言的国际性系统时,为了满足不同国家/地区的语言需求,给所有的计算机挑选代码页就变得困难了。要保证每一台计算机与使用不同代码页的系统交互时都进行正确的翻译也是困难的。
Unicode 规格通过采用两个字节编码每个字符使这个问题迎刃而解。转换最通用商业语言的单一规格具有足够多的 2 字节的模式 (65,536)。因为所有的 Unicode 系统均一致地采用同样的位模式来代表所有的字符,所以当从一个系统转到另一个系统时,将不会存在未正确转换字符的问题。通过在整个系统中使用 Unicode 数据类型,可尽量减少字符转换问题。
在 Microsoft SQL Server 中,以下数据类型支持 Unicode 数据:
nchar
nvarchar
ntext
说明 这些数据类型的前缀 n 来自 SQL-92 标准中的 National(Unicode)数据类型。
nchar、nvarchar 和 ntext 的用法分别与 char、varchar 和 text 的用法一样,但在以下方面不同:
Unicode支持的字符范围更大。
存储 Unicode 字符所需要的空间更大。
nchar 和 nvarchar 列最多可以有 4,000 个字符,而不象 char 和 varchar 字符那样可以有 8,000 个字符。
Unicode 常量使用 N 开头来指定:N'A Unicode string'。
所有 Unicode 数据都使用相同的 Unicode 代码页。排序规则不控制用于 Unicode 列的代码页,仅控制比较规则和是否区分大小写等特性。
愉快的登山者
2003-05-16
打赏
举报
回复
Unicode数据:世界统一编码,与字符集无关。
非Unicode数据:只要字符集变了,数据就出现乱码,无法使用。
19191919
2003-05-16
打赏
举报
回复
Unicode数据 一个字符占两个字节,在数据类型中,最大长度4000,
非Unicode数据 一个字符占一个字节,在数据类型中,最大长度8000,
字符串转换:wchar_t MultiByteToWideChar
Unicode
等
T:关于
unicode
,把包含中文的CString的各个char取出来Q:CString str="12ab大小";用什么方法能转变成下面的形式char ch(20);ch(1)="1";ch(2)="2";ch(3)="a";ch(4)="b";ch(5)="大";ch(6)="小";A:有点乱定义数组应该用char ch[20];字符赋值应该用ch[0]=1;ch[1]=2;用单引号注
Visual C++常用
数据
类型转换详解
说明:本文纯粹是总结一下有关类型转换的贴子,本人并未对所有方法都做测试,仅仅是为了给大家一个参考。读者层次:初学int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_
VC++常用
数据
类型及其操作详解(
非
常经典,共同分享)
友情提示:为了方便你更好的学习和阅读,也更好的体现尊重原创作者的劳动成果,请您直接查看转载原本链接:http://snailflying.blog.hexun.com/8219350_d.html===================================================================VC++常用
数据
类型及其操作详解一.VC常用
数据
类型列表二.常用
数据
类
VC++常用
数据
类型及其操作详解
一.VC常用
数据
类型列表 二.常用
数据
类型转化 2.1数学类型变量与字符串相互转换 2.2 CString及string,char *与其他
数据
类型的转换和操作 ●CString,string,char*的综合比较 ●数学类型与CString相互转化 ●CString与char*相互转换举例 ...
转:VC++常用
数据
类型转换
留着方便自查
VC++
数据
类型转换
int i = 100;
long l = 2001;
float f=300.2;
double d=12345.119;
char username[]="巩俐&周润发";
char temp[200];
char *buf;
CString str;
_variant_t v1;
_bstr_t v2;
MS-SQL Server
34,838
社区成员
254,632
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章