from pathlib import Path
import zipfile,json
p=Path(__file__).parent;r=[]
for n,enc in [('utf8-name.zip',None),('legacy-gbk-name.zip',None),('legacy-gbk-name.zip','gbk')]:
 with zipfile.ZipFile(p/n,metadata_encoding=enc) as z:
  a=z.infolist()[0];content=z.read(a).decode('utf-8');r.append({'archive':n,'metadata_encoding':enc,'filename':a.filename,'utf8_flag':bool(a.flag_bits&0x800),'content_utf8':content.strip(),'crc_test':z.testzip()})
assert r[0]['filename']==r[2]['filename'] and r[0]['filename']!=r[1]['filename'];assert r[0]['utf8_flag'] and not r[1]['utf8_flag'];print(json.dumps(r,ensure_ascii=True,indent=2))
