What Are Charsets and Unicode?
Computers communicate in numbers. In texts, each number is
translated to a corresponding letter. The meaning that will be assigned
to a certain number depends on the
character set (charset)
that is used.
A charset can be seen as a table that is used to translate numbers to
letters. Not all computers use the same charset (there are charsets
with German umlauts, Japanese characters, and so on). The American Standard Code
for Information Interchange (ASCII) encoding system has been the normative character
encoding scheme used by computers to date. This employs a charset that contains
256 characters. Using this mode of encoding, each character takes exactly one byte.
There are also charsets that support extended characters, but those need at least
twice as much storage space as does ASCII encoding. Such charsets can contain
256 * 256 = 65536
characters, which is more than all possible
characters one could think of. They are called multibyte charsets because they use
more then one byte to store one character.
One standardized multibyte charset encoding scheme is known as
unicode. A big advantage of using a
multibyte charset is that you only need one. There is no need to make sure two
computers use the same charset when they are communicating.
Old Windows clients use single-byte charsets, named
, by Microsoft. However, there is no support for
negotiating the charset to be used in the SMB/CIFS protocol. Thus, you
have to make sure you are using the same charset when talking to an older client.
Newer clients (Windows NT, 200x, XP) talk Unicode over the wire.