MacOS 下载的文件名字乱码问题
在网络上查了一圈,找到三个相关答案:
- 下载的文件名总是「乱码」?这里有各平台的处理方法 :
https://sspai.com/post/44360
Automator 流程:
https://cl.ly/2v1E3n3f1q2M - Mac OS X 下文件名乱码出现的起因和处理方法:
https://zzi.io/?p=275 - 预组字符:
https://zh.wikipedia.org/wiki/预组字符
乱码的例子:
FCPX??????????§?????′?è?·?? LOGO? ?????±??¤o????¤′Minimal Logo Stings.dmg
纠正后:
FCPX插件:20个现代字幕条动画Modern Lower Thirds .dmg
参考一中的代码是关键:
for f in "$@"do fileName=$(basename ${f}) filePath=$(dirname ${f}) # 两种乱码类型 GBK、UTF-8 { fileNewName=$(echo $fileName | iconv -f UTF-8-Mac -t latin1 | iconv -f gbk) } || { fileNewName=$(echo $fileName | iconv -f UTF-8-Mac -t latin1) } # 文件名正常或者乱码类型不属上述两种时,新文件名为空,则跳过 if [ -n "$fileNewName" ]; then # 避免文件重复:假如已存在修复后的文件名,则在新文件名后加上随机字符串。 if [ -e ${filePath}/$fileNewName ]; then mv "$f" "${filePath}/${fileNewName}-${RANDOM}" else mv "$f" "${filePath}/${fileNewName}" fi fidone
我们试图解读一下,其中 iconv -f utf-8-mac -t latin1
是将字符先进行 decomposed
解决,接着 iconv -f gbk
,那么为什么要这么解决呢?由于MacOS默认使用 “precomposed” 的字符编码。什么是 decomposed
和 precomposed
呢?
瑞典语 的姓氏 ?str?m 可以有两种Unicode表示方式,第一种采用预组字符? (U+00C5)与? (U+00F6), 第二种采用可分解基本字符A (U+0041)与上圆圈 (附加符号) (U+030A) 以及o(U+006F)与分音符 (U+0308).
- ?str?m (U+00C5 U+0073 U+0074 U+0072 U+00F6 U+006D)
- ?str?m (U+0041 U+030A U+0073 U+0074 U+0072 U+006F U+0308 U+006D)
我们使用参考一的文件,下载后,双击安装,点击文件,右击即可以改名了。
image.png
8fb4dbdd32fc8fc8c5b6e13a7187d25a.gif
还有一种乱码遇到的次数比较少,就不专门说了。
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » MacOS 下载的文件名字乱码问题
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » MacOS 下载的文件名字乱码问题