![]() Here is my (unverified) guess about _why_ it happens. ![]() | set /p ".=a15(51|62) " | explained the mechanics of _what_ happens nicely. To avoid this you may use the "cmd.exe" switch "/U" (if not using win9X the second should be slightly faster):Ĭode: Select all C:\tmp>echo. 3229 = U 2932 = "⤲" <- NORTH WEST ARROW CROSSING NORTH EAST ARROWĮdit 2: Using "cmd/U" is no solution Sorry. Sidenote - the characters in detail (hex notation = Unicode codepoint = Unicode character <- Name): > (hex representation read UCS-2 string "ㅡ⠵ㄵ㙼⤲" from pipe) > (hex representation transformed to ANSI and written to pipe) (hex representation UCS-2 string "a15(51|62)") So these transformations occure (doublequotes, left/right sqare brackets and comma are delimiters and not part of the string): The clip.exe autodetects the character encoding, and chooses UCS-2 in this case. The command (line) interpreter (CLI: cmd.exe) internally uses UCS-2 (a subset of UTF-16 LE always 2 bytes per character) characters to encode characters.īut by default the CLI uses ANSI whenever a character is read/written to a pipe, a device, or a file (in common varying length per character - depends on the actual codepage in this case 1 byte per character because all characters are std ASCII values).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |