======================================================
注:本文源代码点此下载
======================================================
with the addition of unicode as the default string, delphi can accept,
process, and display virtually any alphabet or code page in the world.
applications you build with delphi 2009 will be able to accept, display, and
handle unicode text with ease, and they will work much better in almost any
windows locale. delphi developers can now easily localize and translate their
applications to enter markets that they have previously been more difficult to
enter. it’s a unicode world out there, and now your delphi apps can live in
it.
in part ii, we’ll discuss the changes and updates to the delphi runtime
library that will enable you to work easily with unicode strings.
以下为有道自动翻译(delphi园地站长注:翻译不是很准确,如有读者有兴趣翻译,请发给我们发布,谢谢):
在本部分德尔世界是什么,为什么你需要制定,你如何工作的呢?
通过:尼克霍奇
文摘:论述了如何制定,delphi开发商受益于使用统一的字符编码标准,以及如何将实施delphi2009年。
介绍
互联网地理障碍,打破世界软件分布。作为一个结果,应用再也不能住在一个纯ansi-based环境。世界已接受的标准的制定和数据。转移文本它提供了支持,几乎所有的书写体系在全世界范围内,统一的字符编码标准文本现在的标准是全球科技的生态系统。
什么是统一的字符编码标准吗?
本是字符编码系统使几乎所有字母被编码成一个单一的字符集。让计算机管理,制定表示文本,世界上大部分的书写系统。本协会是由统一的字符编码标准并编入在一个标准。更简单地说,就是一个系统,使本都使用对方的字母。见鬼,甚至有一个统一的字符编码标准版klingon。
这系列的文章并不意味着给你一份完全破旧的到底是什么unicode工作;相反,它是为了让您将在2009年在delphi使用本。如果你想好概要的,乔尔spolsky本有很大的文章题为“最低限度每个软件开发者绝对地、肯定地必须了解unicode字符(没有藉口,!)”,它是高度推荐阅读。作为乔明确指出“这不难。”这篇文章中,我将讨论的3本是重要的,以及如何将如何实施新的unicodestring德尔菲的类型。
为什么unicode吗?
在许多新功能在2009年发现的imbuing德尔菲的整个产品。本默认的字符串在delphi现在unicode-based字符串。从很大程度上与德尔菲德尔菲的ide,编译器、rtl、vcl都完全unicode-enabled。
在转会到delphi是一个天然的一个。窗户本身就是完全unicode-aware,所以它只是自然的应用程序,使用了建造的字符串作为默认unicode字符串。和德尔菲的开发者、效益不停止仅仅在能够使用相同的字符串类型作为窗口。
增加delphi开发者以支持提供了巨大的机会。现在可以delphi开发商的读、写、接受、生产、展览、处理unicode——这些数据集成于产品。只有几个,或在某些情况下,你的代码变更为零应用可以准备任何类型的数据,你,你的客户或你的用户可以把它。应用程序,以前只限于美国国家标准化组织(ansi)编码资料,可以很方便地进行修改来处理任何字符集,在世界上。
delphi开发者可以作为全球市场中的应用——即使他们不做任何特别的局部或国际化的应用。支持多种不同的局部窗口本身的版本,delphi应用程序需要能够适应工作的任何机器运行大量的场景,包括了,窗户支持日本、中国、希腊、或俄罗斯版本的视窗。用户可以进入你的软件应用到你non-ansi
non-ansi或使用基于路径名。ansi-based应用不会一直工作所需的那些场景。视窗系统应用具有完全unicode-enableddelphi将能够处理和工作的情况。即使你不把你的应用程序在任何其他种语言,你的应用还需要能够正常工作——无论如何在最终用户的场所。
对现有ansi-baseddelphi申请书,并应用和扩大机遇来定位的应用是潜在的巨大市场进入unicode-based。如果你确实想要让你的应用程序中,德尔斐定位,非常容易,尤其是现在在设计。尽管综合翻译环境(翻译)允许你编写,和部署,申请的权利。如果你需要外部的翻译服务,ide可汇出您的项目可以使用一种译者在翻译会同部署的外部经理。这些工具与delphiide对于德尔菲法和c
+ +
builder使本地化软件平滑而易于处理的过程。
世界是unicode-based,现在delphi开发者可以成为你生活的一部分,在本地、有机方式。所以,如果你想要有能力处理数据,或者如果你本想卖掉你的应用程序和全球市场出现时,你也可以做到delphi2009年。
一个字有关术语
鼓励使用一些制定新条款。比如“品质”的理念是有点不太准确的世界里,你可能会比使用本。在统一的字符编码标准,更精确的说法是“密码”。2009年的长度(炭)是2,但也没有告诉我们全部的故事。根据编码,它是可能的,对于一个给定字符占用超过二个字节。这些序列被称为“代孕双”。所以一个代码是一个独特的编码指定一个元素被unicode.org。最常用的是“角色”,但并不总是。
你会看到另一个词是“关系”,本订单或字节的炸弹,那是一种非常短的前缀使用之初,一个文本文件来显示类型的编码用于文本文件。有一个好的文章msdn炸弹是什么。新的tencoding班(讨论)在第二部分类方法,称为getpreamble返回bom对于一个给定的编码。
现在,一切都说明,我们要看看如何实现一个unicode-baseddelphi2009年的字符串。
新的unicodestring类型
默认的字符串在2009年新unicodestring德尔菲的类型。默认情况下,unicodestring类型会有亲和力,同样的编码为utf-16所用的窗口。这是一个从以前的版本,具有ansistring设为默认的类型。德尔菲rtl已经在过去的数据类型来处理widestring制定的,但是这种不是reference-counted
ansistring型的,因此并不像预期的一样delphi开发商将默认的字符串。
对于一个新unicodestring德尔菲2009年,设计,类型都包含了能力,widestring
ansistring类型。一个unicodestring可以包含一个字,或一个unicode-sized ansi
byte-sized字符。(注意:双方ansistring widestring类型,将继续存在。)贾泽民、pchar的类型将地图,分别widechar
pwidechar。注意,没有字符串类型已经消失了。所有的类型,开发者习惯于依然存在的情况下工作。
然而,delphi2009年,默认字符串类型将相当于unicodestring。此外,默认是widechar炙、类型的默认pchar
pwidechar类型。
那就是,下面的代码被宣布由编译器。
string =
unicodestring;
char = widechar;
pchar = pwidechar;
兼容所有作业unicodestring是其他字符串类型;然而,作业和unicodestrings
ansistrings之间做适当的类型转换。因此,赋值类型的一个ansistring unicodestring
data-loss类型可能导致。这就是说,如果一个unicodestring含有高阶字节数据转换的那根绳子,将导致损失ansistring高字节的数据。
最重要的是要注意这是这个新的unicodestring表现得很像串总是(有例外的能力,当然unicode数据)。你还可以加入任何一个字符串数据,你可以指数,可以连结的“+”号签署,等等。
例如,一个unicodestring仍能够指标特征。考虑以下代码:
var
mychar: char;
mystring: string;
begin
mystring := ‘this is a
string’;
mychar := mystring[1];
end;
这个变量mychar仍然会出现在第一个字符的索引位置。”,即“。这一功能的代码并没有改变。同样的,如果我们要处理unicode数据:
var
mychar: char;
mystring: string;
begin
mystring :=
‘世界您好‘;
mychar := mystring[1];
end;
这个变量mychar仍然会出现在第一个字符的索引,即“世位置。”。
致力于提供帮助的功能,让用户做codepages元素之间的显式转换,大小转换。如果用户使用移动功能上的角色,他们不能数组元素的尺寸的假设。
可以想象,这个新的字符串类型,对现有的代码。以unicode,它已不再是真实的,代表了一种煤焦字节。事实上,它不是真实的,甚至常常炙等于两个字节!作为一种结果,你可能不得不做一些调整你的代码。然而,我们非常努力地过渡平稳,我们有信心,你就能够建立并运行相当快。第二和第三部分的系列将进一步探讨新unicodestring类型,谈论一些新的特点,支持”,然后讨论特定伺服器、编码成语,你会想要找你的代码。该系列会让你的过渡平稳,无痛性努力制定。
结论
再加上unicode设为默认的字符串,delphi可以接受,工艺,显示几乎任何字母或代码页,在世界上。你建立与应用德尔菲2009年将能够接受,显示和处理unicode文本,以方便的话,他们会发挥更大的作用在几乎任何窗口区域。delphi发展商现在可以方便地定位和翻译的申请进入市场,他们曾被更难进入。这是一个统一的字符编码标准的环境里,现在你可以住在德尔菲程序。
在第二部分,我们将讨论的变化和更新的delphi中运行的图书馆,而且会让你更容易工作与万国码字串。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/