bionic (3) encoding.3tcl.gz

Provided by: tcl8.5-doc_8.5.19-4_all bug

NAME

       encoding - Manipulate encodings

SYNOPSIS

       encoding option ?arg arg ...?
________________________________________________________________________________________________________________

INTRODUCTION

       Strings  in  Tcl  are  encoded using 16-bit Unicode characters.  Different operating system interfaces or
       applications may generate strings in other encodings such as Shift-JIS.  The encoding  command  helps  to
       bridge the gap between Unicode and these other formats.

DESCRIPTION

       Performs one of several encoding related operations, depending on option.  The legal options are:

       encoding convertfrom ?encoding? data
              Convert data to Unicode from the specified encoding.  The characters in data are treated as binary
              data where the lower 8-bits of each character is taken as a single byte.  The  resulting  sequence
              of  bytes  is  treated  as  a string in the specified encoding.  If encoding is not specified, the
              current system encoding is used.

       encoding convertto ?encoding? string
              Convert string from Unicode to the specified encoding.  The result is a  sequence  of  bytes  that
              represents  the converted string.  Each byte is stored in the lower 8-bits of a Unicode character.
              If encoding is not specified, the current system encoding is used.

       encoding dirs ?directoryList?
              Tcl can load encoding data files from the file system that describe additional encodings for it to │
              work  with.  This  command  sets  the  search  path  for  *.enc encoding data files to the list of │
              directories directoryList. If directoryList is omitted then the command returns the  current  list │
              of  directories  that  make up the search path. It is an error for directoryList to not be a valid │
              list. If, when a search for an encoding data file is happening, an element in  directoryList  does │
              not refer to a readable, searchable directory, that element is ignored.

       encoding names
              Returns a list containing the names of all of the encodings that are currently available.

       encoding system ?encoding?
              Set  the  system encoding to encoding. If encoding is omitted then the command returns the current
              system encoding.  The system encoding is used whenever Tcl passes strings to system calls.

EXAMPLE

       It is common practice to write script files using a text  editor  that  produces  output  in  the  euc-jp
       encoding,  which  represents  the  ASCII  characters as singe bytes and Japanese characters as two bytes.
       This makes it easy to embed literal strings that correspond to non-ASCII characters by simply typing  the
       strings in place in the script.  However, because the source command always reads files using the current
       system encoding, Tcl will only source such files correctly when the encoding used to write  the  file  is
       the  same.   This  tends not to be true in an internationalized setting.  For example, if such a file was
       sourced in North America (where the ISO8859-1 is normally used), each byte in the file would  be  treated
       as  a separate character that maps to the 00 page in Unicode.  The resulting Tcl strings will not contain
       the expected Japanese characters.  Instead, they will contain  a  sequence  of  Latin-1  characters  that
       correspond  to the bytes of the original string.  The encoding command can be used to convert this string
       to the expected Japanese Unicode characters.  For example,
              set s [encoding convertfrom euc-jp "\xA4\xCF"]
       would return the Unicode string “\u306F”, which is the Hiragana letter HA.

SEE ALSO

       Tcl_GetEncoding(3tcl)

KEYWORDS

       encoding