Tcl Source Code

Artifact [1ef56cb2bf]
Login

Artifact 1ef56cb2bf2a8186a10627ef1e66e1428964d052:

Ticket change [1ef56cb2bf] - Pending ticket [950acd6df4]: utf-8 to unicode conversion gives broken results plus 5 other changes by dkf 2014-02-24 11:55:49.
D 2014-02-24T11:55:49.837
J icomment You're\sdoing\sthis\sbackwards.<p>\r\n<tt>encoding\sconvertto</tt>\stakes\sa\sstring\sand\sproduces\sa\sbyte-sequence\sthat\sis\sthe\sencoded\sform\sof\sthe\sstring\susing\sthe\sspecified\sencoding\s(or\sthe\ssystem\sencoding).\s<tt>encoding\sconvertfrom</tt>\stakes\sa\sbyte-sequence\sand\sinterprets\sthat\sas\san\sencoded\sstring,\sreturning\sthe\sstring\sthat\sit\sthinks\sit\sis\sthe\sencoded\sform\sof\s(where\sthe\sencoding\sis\sthe\sspecified\sone\sor\sthe\ssystem\sencoding).\sThe\sprocess\sof\sconverting\sa\sstring\s<i>to</i>\sa\sparticular\sencoding\scan\sresult\sin\sinformation\sloss\sif\sthe\starget\sencoding\scan't\shandle\sa\scharacter,\sand\sthe\sreverse\scan\sresult\sin\sinformation\sloss\sif\sthe\ssource\scontains\sa\sbyte\ssequence\sthat\sis\snot\svalid\sin\sthe\sencoding.<p>\r\nIf\swe\stake\sall\sthat\sand\stry\sthe\sreverse\soperations:\r\n<pre>\r\n%\sset\ssrc\s"Η\sΣάμος\sείναι"\r\nΗ\sΣάμος\sείναι\r\n%\sencoding\sconvertto\sutf-8\s$src\r\nΗ\sΣάμος\sείναι\r\n%\sencoding\sconvertfrom\sutf-8\s$src\r\n—\s£¬¼¿Â\sµ¯½±¹\r\n%\sencoding\sconvertto\sutf-8\s[encoding\sconvertfrom\sutf-8\s$src]\r\n—\s£¬¼¿Â\sµ¯½±¹\r\n%\sencoding\sconvertfrom\sutf-8\s[encoding\sconvertto\sutf-8\s$src]\r\nΗ\sΣάμος\sείναι\r\n</pre>\r\nWe\scan\ssee\sthat\syou\sreally\sare\sdoing\sthings\sbackwards.\s<strong>Do\snot\sthink\sof\sTcl\sstrings\sas\sUTF-8</strong>\sbut\srather\sas\sabstract\sUnicode\scharacter\ssequences.\sLet\sTcl\smanage\swhat\sencoding\sits\sstrings\sare\s(it's\snot\sconstant!)\sand\sask\sfor\sthem\sin\sa\sparticular\sencoding\son\swhen\syou\sneed\sthat.\sBy\sthe\stime\sa\s<tt>source</tt>d\sscript\sis\sinterpreted\sat\sall,\sTcl\shas\salready\sdone\sencoding\shandling\sfor\sthe\sentire\sscript;\severything\sin\sit\sis\sunderstood\sas\san\s(abstract)\sUnicode\scharacter.<p>\r\nChanging\s<tt>encoding\ssystem</tt>\sis\sprobably\sa\svery\sbad\sidea;\sthe\smain\sthing\sthat\sis\sused\sfor\sis\sactually\scontrolling\show\sTcl\sand\sthe\sOS\sunderstand\sbytes\sused\sin\sfilenames…
J login dkf
J mimetype text/html
J resolution Invalid
J status Pending
J username dkf
K 950acd6df4cffdac6dfecd189864e86262c33ea5
U dkf
Z e28badc45c7f57b7cd50ea0f74686754