对于大学,我正在研究压缩技术.我正在尝试执行的一项实验是用一个字符替换某些威尔士语字母(有双向图).
我认为用一个字符替换两个字符会减小文件大小(无论多少),或者最坏的情况是保持文件大小相同.我已经制作了一个Python脚本来实现这一点,但实际上它增加了文件大小.我测试过的原始文件是~74,400KB,输出程序是~74,700KB.
这是我的Python代码:
replacements = {
'ch':'ƒ',
'Ch':'†',
'CH':'‡',
'dd':'Œ',
'Dd':'•',
'DD':'œ',
'ff':'¤',
'Ff':'¦',
'FF':'§',
'ng':'±',
'Ng':'µ',
'NG':'¶',
'll':'º',
'Ll':'¿',
'LL':'Æ',
'ph':'Ç',
'Ph':'Ð',
'PH':'×',
'rh':'Ø',
'Rh':'Þ',
'RH':'ß',
'th':'æ',
'Th':'ç',
'TH':'ð',
}
print("Input file location: ")
inLoc = input("> ")
print("Output file location: ")
outLoc = input("> ")
with open(inLoc, "r",encoding="Latin-1") as infile, open(outLoc, "w", encoding="utf-8") as outfile:
for line in infile:
for src, target in replacements.items():
line = line.replace(src, target)
outfile.write(line)
Run Code Online (Sandbox Code Playgroud)
当我在一个非常小的文本文件上测试它几行时,我查看输出,它是按预期的.
INPUT.TXT:
Lle wyt ti heddiw?
Ddoe es i at gogledd Nghymru.
Run Code Online (Sandbox Code Playgroud)
Output.txt的:
¿e wyt ti heŒiw?
•oe es i at gogleŒ µhymru.
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释发生了什么?
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |