我正在维护一个应用程序,该应用程序将文件传输到另一个系统,并使用结构化文件名来包含元数据(包括语言代码)。当前应用程序使用两个字符的语言代码和短划线/连字符作为分隔符。
例如。加拿大-EN-ProdName-ProdCode.txt
我正在将其转换为使用 IETF 语言代码,因此破折号分隔符不起作用,需要替换。我正在尝试确定一个分隔符以避免将来的错误,并且正在考虑波浪号〜。
例如。加拿大~en-GB~ProdName~ProdCode.txt
这仅在 Windows Sever 2003 + 系统上使用。我当然没有想出这个解析文件名以获取元数据的系统。不幸的是,我无法将其包含在文件本身中,并且目标系统期望语言代码采用带破折号的 IETF 格式。
对于在文件名中使用波浪号或可能使用更好的字符的潜在问题有什么想法吗?我只是在寻求第二意见,以防我忽略了可能的失败。我相信 Windows 在将长文件名缩短为 8.3 格式时会使用波浪号,但我不认为这是一个问题,因为操作系统可以处理 lang 文件名。
最佳答案
波浪号可能没问题,但是旧的下划线 _ 有什么问题吗?它在 Windows 或 UNIX 上没有特殊含义,并且使名称相对容易阅读。如果没有其他特殊考虑,我会纯粹出于偏执而避免使用波形符,因为正如您提到的,Windows 有时确实将其用作特殊字符。
关于windows - Windows 文件名中元数据的分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3315352/