我有一个大的mp3音频文件集,每个文件包含一个短句或在某些情况下两个短句。例如,文件可能包含以下三种类型之一:
我需要在python3中编写一个函数,它采用如下字符串:
"Var är du? Här är jag."
并将其转换为macosx和apacheweb服务器(不知道什么操作系统)的唯一有效文件名,音频文件最终将驻留在该服务器上。然后我将使用HTML5和javascript播放音频文件
因此python函数需要为¡“别犯错误!”“和”¿比如说,没有tienes miedo。当然,如果函数返回一些可读的内容,那么就很方便了,这样就可以知道与文件相关联的句子是什么,但这不是必须的,因为我将从命名mp3文件的同一个python脚本自动生成html脚本
我最终要面对一大堆不同的语言
你建议我怎么写这个函数
这是我无力的尝试:
def file_name(s):
return "".join("{:02x}".format(c) for c in s.encode())
file_name('Eso no es bueno, ¿no?')
返回:
'45736f206e6f206573206275656e6f2c20c2bf6e6f3f'
您正在尝试将一个字符串转换为另一个使用较小字符集的字符串。这意味着每个字符包含的信息较少,这意味着必须有更多的字符;也就是说,文件名必须比原始字符串长。但是,你不能仅仅把每个特殊字符转换成一个字母数字字符串;这将无法与原始字符串中的字符串区分开来,除非您还将允许的字符转换为更长的字符串。这表明文件名可能无法被人类读取。如果你摆脱了这个限制,散列可能是最好的方法。您使用的是Python3,因此可以使用hashlib:
相关问题 更多 >
编程相关推荐