1mNAME0m
       encoding - Manipulate encodings

1mSYNOPSIS0m
       1mencoding 4m22moption24m ?4marg24m 4marg24m 4m...24m?


1mINTRODUCTION0m
       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  1mencoding 22mcommand helps to
       bridge the gap between Unicode and these other formats.


1mDESCRIPTION0m
       Performs one of  several  encoding  related  operations,  depending  on
       4moption24m.  The legal 4moption24ms are:

       1mencoding convertfrom ?4m22mencoding24m? 4mdata0m
              Convert  4mdata24m to Unicode from the specified 4mencoding24m.  The char-
              acters in 4mdata24m 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 4mencod-0m
              4ming24m.   If 4mencoding24m is not specified, the current system encoding
              is used.

       1mencoding convertto ?4m22mencoding24m? 4mstring0m
              Convert 4mstring24m from Unicode  to  the  specified  4mencoding24m.   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  4mencoding24m  is  not specified, the current system
              encoding is used.

       1mencoding names0m
              Returns a list containing the names of all of the encodings that
              are currently available.

       1mencoding system 22m?4mencoding24m?
              Set the system encoding to 4mencoding24m. If 4mencoding24m is omitted then
              the command returns the current  system  encoding.   The  system
              encoding is used whenever Tcl passes strings to system calls.


1mEXAMPLE0m
       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.  How-
       ever, because the 1msource 22mcommand always reads files using the ISO8859-1
       encoding,  Tcl will treat each byte in the file 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 con-
       tain a sequence of Latin-1 characters that correspond to the  bytes  of
       the  original string.  The 1mencoding 22mcommand 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.


1mSEE ALSO0m
       Tcl_GetEncoding(3)


1mKEYWORDS0m
