我正在维护将文件传输到另一个系统并使用结构化文件名来包含元数据(包括语言代码)的应用程序。当前应用程序使用两个字符的语言代码和一个破折号/连字符作为分隔符。
前任。加拿大-EN-ProdName-ProdCode.txt
我正在将其转换为使用 IETF 语言代码,因此破折号分隔符不起作用并且需要替换。我正在尝试确定一个分隔符以避免将来出现错误,并且正在考虑使用波浪号 ~。
前任。加拿大~zh-CN~ProdName~ProdCode.txt
这将仅在 Windows Sever 2003 + 系统上使用。我当然没有想出这个解析文件名来获取元数据的系统。不幸的是,我不能将它包含在文件本身中,并且目标系统期望语言代码采用带有破折号的 IETF 格式。
对在文件名中使用波浪号的潜在问题有任何想法,或者使用更好的字符?我只是在寻找第二种意见,以防我忽略了可能的失败。我相信 Windows 在将长文件名缩短为 8.3 格式时会使用波浪号,但我不认为这是一个问题,因为操作系统可以处理 lang 文件名。