User Tools

Site Tools


trrntzipui

This is an old revision of the document!


Update History for Trrntzip.UI & Trrntzip.NET.exe Both C# implementations of trrntzip format.

Trrntzip update history
2018-07-18 C# code updated to support zip64 format
2019-06-11 Unicode filenames had previously be added to trrntzip format, initial implementation was any character value less that 256 was considered ASCII and any characters equal and above 256 where concidered UNICODE and if UNICODE was found the zip file would need a UNICODE stored filename, this release change the format to be any character over 127 was considered UNICODE
2020-03-13 An edge case error was found in the code that could produce a corrupt zip file. It occurred where a files uncompressed size was just under the zip64 4Gb size limit, but its compressed size actually got just a little larger and pushed it over the zip64 4Gb limit making the file require a zip64 local header, because at the time of writing the local header the compressed size was not know, and the uncompressed file was less then 4Gb it was assumed the header did not need the zip64 information added (which was incorrect). A fix was made at this time to check the compressed size to see if it was now larger that 4Gb and if so the local header was extended to add the zip64 information. (This involves pushing the full 4Gb+ of compressed data a few bytes further down the file, to make space for this extra zip64 data in front of this in the local file header.)
2020-11-xx Further investigation into unicode filename support showed the change made in 2019-06-11 was still incorrect. APPNOTE.TXT APPENDIX D - Language Encoding, states that zip filenames use IBM's Code Page 437 to store filenames, any character not in this code page should be treated as unicode, a change has been made to the trrntzip format to store filenames using Code Page 437 if possible, otherwise the zip unicode filename extension is used to store the full unicode filename.

First Trrntzip.exe was C code developed by 'shindakun' available here: https://sourceforge.net/p/trrntzip/code

C Code Trrntzip history
2007-05-09First code commit. (by shindakun)
2012-01-03Fixed Inconsistency in trrntzip files from having un-needed directories in the zip. The new rule was added to only have directory entries in a zip files if the directory is empty.
2012-01-03Also fixed the directory separator character to be '/'. See 4.4.17 in APPNOTE.TXT
2012-02-02Zip64 support added by 'ackmed'

Latest ZIP files format specifications can be found here https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT

trrntzipui.1605729892.txt.gz · Last modified: 2020/11/18 11:04 (external edit)