按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
Character Mapping
A single character takes 16 bits of space; and the space that a string consumes depends on the
number of characters in a buffer。 If a buffer is 10 characters long; then the entire buffer takes up
160 bits of space。
A single character is 16 bits long so that a buffer can store text in a multitude of different
formats。 The standardized length is due to a standard called Unicode。
Consider the character a。 Philosophically; how do you know that an a is an a? For humans;
that’s easy because our brains are trained to recognize the curve and look of an a。 Now look at
the Russian letter shown in Figure 3…10。
Figure 3…10。 A Russian letter
What letter does Figure 3…10 show? It looks like an H; right? But paring it to the English
language; it is an N。 The Russian language has its own set of letters; and someone has deter
mined that a Russian H is an English N。 Figure 3…11 is a mapping of the Russian letters to the
English letters。
Figure 3…11。 Mapping of Russian letters to English letters
…………………………………………………………Page 90……………………………………………………………
68 CH AP T E R 3 ■ L E A R N IN G AB OU T ST R I N G M A N I P U L AT IO N S
If I were learning Russian; I would want the mapping provided in Figure 3…11。 The mapping
gives me an idea of what each letter in Russian represents。 You could think of Figure 3…11 as a
lookup table。 The puter has the same sort of need; because a puter does not under
stand letters。 A puter understands only numbers and thus uses lookup tables that map a
set of letters to a set of numbers。
There are many lookup tables; such as American Standard Code for Information Inter
change (ASCII)。 For example; using ASCII; the letter a maps to the number 97。 The problem
with ASCII is that it works well for English; but works horribly for other languages。 ASCII was
extended to deal with Western European languages; but still fails for languages such as Chinese;
Russian; and Arabic。
The solution chosen by is Unicode。 Unicode is the definition of a set of lookup tables
that map to letters for all of the languages of the world。
For the most part; you will not have to concern yourself with the Unicode; because
manages everything transparently。 This was not the case many years ago; when programmers
had to manage the lookup tables themselves。 So consider yourself lucky that you did not expe
rience this pain in developing multilingual applications。
Dealing with Languages and Cultures
Managing strings in does not stop with Unicode。 is very innovative in that it under
stands concepts such as culture and language; which are a reflection of how humans speak and
live。 The ideas of culture and language do not exist in other programming environments。
Consider Switzerland as an example。 Throughout Switzerland; there are mountains that
happen to separate four individual languages: German; Italian; Romansch; and French。 Even
with the four languages; the Swiss all trade the same currency and write numbers the same
way。
In previous programming environments; the language would be tied to a particular country。
This works fine for France; Germany; and the United States; but fails miserably for Canada;
Switzerland; Belgium; and India。 You need to separate language from culture; because multiple
languages are used in different cultures。 For example; Italian is spoken in Switzerland and Italy。
French is spoken in France; Switzerland; Luxembourg; and Canada。 German is spoken in
Germany; Switzerland; and Austria。
Setting Culture and Language in Windows
The Windows operating system allows you to set the culture and language of your puter;
regardless of the language in which Windows is operating。 Figure 3…12 shows an example。
The example in Figure 3…12 is running a German version of Windows in Switzerland。 The
language is English; and the culture is Canada。 It would seem that Windows would get confused;
but in fact; if you write your application properly; multilanguage support is simple。
…………………………………………………………Page 91……………………………………………………………
CH AP T E R 3 ■ L E AR N IN G AB O U T ST R I N G M A N I PU L A TI O N S 69
Figure 3…12。 Setting the culture and language in Windows
Parsing and Processing Numbers
The culture and country bee important when interacting with numbers and dates that
are stored as strings。 Imagine retrieving a string buffer with an embedded number and then
attempting to perform an addition; as illustrated by Figure 3…13。
Variables a and b are
assigned buffers that
represent numbers
Dim a As String = 〃1〃
Dim b As String = 〃2〃
Dim c As String = a + b Adding two buffers is a
concatenation operation
Variable c contains
the value 12
Figure 3…13。 Performing arithmetic on numbers represented as strings can lead to unexpected results。
…………………………………………………………Page 92……………………………………………………………
70 CH AP T E R 3 ■ L E A R N IN G AB OU T ST R I N G M A N I P U L AT IO N S
Adding numbers is performing a mathematical operation。 When the add operation is
performed on strings; it always results in a buffer concatenation。 The add operation is a very
simple way to concatenate string buffers together。
However; concatenation is not the aim of the example。 The aim