encoding convertto

Difference between version 11 and 12 - Previous - Next



    :   '''`[encoding] convertto`''' ?''encoding''? ''string''



** See Also **


   [GSM 03.38 encoding]:   Example of an encoding with "non-null" 0 character.
   [ycl%|%ycl string encode]:   An alternative that returns an error rather than losing information.


** Description **

Converts ''string'' from [Unicode] to the specified ''encoding''.  The result
is a string where each character represents the next byte in the resulting byte
sequence.  I.e., each byte is represented by the lower 8-bits of a Unicode
character. 

If ''encoding'' is not specified, the current [encoding
system%|%system encoding] is used.
If a character in ''string'' can not be converted to ''encoding'', that character is replaced by a character that can.  In other words, `encoding convertto` may lose information.


** Discussion **

[ZB]: ...and what then? How to convert such "byte array" into "ordinary string", which uses chosen ISO-encoding - can be [encoding system] - and which uses single-byte characters?)

[DKF]: Depends what you want to do really, yes? It's useful with [binary format]'s `a` and `A` conversions, and you can communicate it externally over channels that are using the `iso8859-1` encoding. Or that you [chan configure%|%configure] to be `-translation binary` or `-encoding binary`. To be clear, “byte arrays” ''are strings'' where the characters are all from the range `U+000000`–`U+0000FF`; they also happen to have a more efficient internal representation, but that's not very important, a fact that you should ignore.

[ZB] Is this a method (external communication over channels) used by msgcat-tools? No, I didn't analyse its code yet; I was just trying to use "convert" to perform conversions - according to its name - with no desired result.



<<categories>> tcl commands | Binary Data