![]() ![]() Depending on the current locale, it might create the file using that exact name (the raw bytes 84 8a 8f), or worse, treat them as unicode points to be expanded to UTF-8 first ( c2 84 c2 8a c2 8f). unzip knows about this header, and uses the UTF-8 name, ignoring the CP1251 one.ħz doesn't do anything with this "extra field", and only uses the CP1251 one. The "extra" field uses an Info-zip extension (see section 4.6.9 of the Zip Specification v 6.3.4 ) to store the UTF-8 filename. However, for the archive in the question, the "filename" field contains the CP1251 encoding of "ДКП.doc" ( 84 8a 8f 2e 64 6f 63). (This helped for a zip created by IZArc on Win7, using two of your example filenames.) ![]() ![]() hexdump of start of archive ( od -tx1z -Ax):Ġ00000 50 4b 03 04 14 00 00 00 00 00 81 54 1a 49 7e 35 on the encoding used to create the zip file, you might be able to prevent unwanted translations by temporarily setting the locale to "C": LC_ALL=C 7z x $archive. ![]() When trying to guess charset via 7z -scsCP1251 l 26-08-2016_10-18-14.zipħz gives warning: Unsupported charset: cp1251 ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |