【发布时间】:2012-02-26 17:51:15
【问题描述】:
我的问题是一般性的 - 我想问一下编程语言中是否有任何特殊模块或现成的程序可以让我完成我的任务。
有没有什么方便的方法(除了用多个替换语句编写自己的函数)自动将所有国家字符替换为对应的字母?例如,我想将 æ 替换为 ae,ä 替换为 a,ę 到 e 等等。
如果无法准备通用函数,那么当前使用的编程语言中是否有现成的函数,只需将允许的字符限制为标准拉丁字母表中的字符即可删除这些字符?
【问题讨论】:
-
这需要更详细的信息。你在什么平台和文件系统上?以及您为什么要首先这样做 - 您在使用这些特殊字符时遇到了什么问题?
-
常见的问题:你为什么要这样做?您丢失了信息,因为“对应的”ASCII 字母对于某些语言环境可能是一个愚蠢的概念。特别是对于文件名,基本上只有两件事是有意义的:UTF-16 用于 Windows,UTF-8 用于 Unices。以一种或另一种方式使用其他一切都是一团糟。
-
标准的拉丁字母大约有 600 个字符,你知道的。我必须回应来自@schlenk 的询问——你到底为什么要做这件邪恶的事情?文化的狭隘性令人叹为观止。
-
是的,你是对的。我只想使用我可以在键盘上看到的字母。问题的答案很简单——我使用的系统在对文件名中包含一些特殊字符的文件进行操作时会崩溃。
标签: unicode ascii filenames transliteration truncation