From: SourceForge.net <no...@so...> - 2005-12-16 11:10:40
|
Bugs item #1363452, was opened at 2005-11-22 06:15 Message generated for change (Settings changed) made by dkf You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1363452&group_id=10894 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 12. ByteArray Object Group: obsolete: 8.4.11 >Status: Closed Resolution: Invalid Priority: 5 Submitted By: nyademo (nyademo) Assigned to: Donal K. Fellows (dkf) Summary: binary scan unicode error Initial Comment: Windows2000/ActiveTcl8.4.11 test ========================================= set b1 \u3042\u3044 set b2 [encoding convertto unicode $b1] binary scan $b1 H* result1;# 4244 binary scan $b2 H* result2;# 42304430 if {$result1 ne $result2} {error error} maybe is result2 value right? It seems to me that each second bytes was lost. ---------------------------------------------------------------------- Comment By: Donal K. Fellows (dkf) Date: 2005-11-29 13:15 Message: Logged In: YES user_id=79902 That's exactly the way it is defined to work, using just the low byte from each character. The [encoding convertto] just transforms the characters into a sequence of bytes (with each resulting byte encoded in a single character in the range \u0000-\u00ff) which are then handled in the way you describe. The key point is that Tcl is using a different interpretation of bytes and (especially) characters to what you expected. Keeping bug open while I consider if a documentation update is needed. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1363452&group_id=10894 |