无忧启动论坛

标题: 请问下gurb4dos的菜单要求的utf-8编码,是有签名的好,还是没有签名的好? [打印本页]

作者: liuzhaoyzz    时间: 2019-8-22 08:01
标题: 请问下gurb4dos的菜单要求的utf-8编码,是有签名的好,还是没有签名的好?
本帖最后由 liuzhaoyzz 于 2019-8-22 08:32 编辑

       请问下gurb4dos的菜单要求的utf-8编码,是有签名的好,还是没有签名的好?有签名的有BOM,没有签名的就是没有BOM,哪种好,或者说开发者更希望大家用哪种格式的?
        windows记事本另存为,如果选择utf-8编码,保存出来的文件是带BOM的,文件头有0xEFFFBF.
        网上说,带签名的UTF8,是在生成的文件中,在文件的开头使用UTF8标志,这样在下次使用编辑器编辑的时候,编辑器能准确的识别当前文件的编码格式,并做正确的解码。
       网上又说,BOM(BYTE ORDER MARK)只是文件的一个可选项,有很多软件并未提供对BOM的支持,因此此类软件如果打开含有BOM数据的文件时,会将此数据作为数据内容本身进行处理。如果在程序中,可能会作为程序内容来解析,这样有些程序在迁移的时候就会出现问题。在涉及到程序多处多平台迁移的时候,一般建议慎重考虑是否启用带签名的UTF8 格式。
        grub4dos不但可用于windows,还可用于linux,如果从通用性角度考虑,是不是不带BOM签名的更好?但是现实中大部分又都是windows系统居多,怎么选择和取舍?
        我看了,grub4dos最新版里面,sample里面给的范例,menu.lst是utf-8没有BOM签名的。

QQ截图20190822080700.jpg (26.95 KB, 下载次数: 100)

QQ截图20190822080700.jpg

作者: 心零    时间: 2019-8-22 08:13
gurb4dos是开源的吧,那作者对签名也许没什么表态。
作者: 不点    时间: 2019-8-22 10:29
menu.lst 可以带有 BOM,它会被忽略。

另外,menu.lst 既可以是 DOS 格式(回车+换行),也可以是 UNIX 格式(仅有换行,没有回车)。

对微软的系统照顾得很周到。这是考虑兼容性的一个重点内容,不能忽视。

另外,wee 的默认菜单也是优先启动微软的系统。兼容性很重要,而且,举手之劳,没必要弄得不兼容。


作者: 六枚硬币    时间: 2019-8-22 20:23
长知识了。确实有些文本转换的软件对BOM情况支持不太好。
作者: liuzhaoyzz    时间: 2019-8-26 09:19
        不点和winflash大神,都是linuxer,我没怎么玩过linux,很久以前玩过国内的linux发行包中标普华、中华麒麟等。我觉得windows下还是用带BOM的好,更容易被windows下面的软件识别,不会有问题。而在linux和unix世界,我感觉大家更喜欢不带BOM的。
作者: 不点    时间: 2019-8-26 12:08
编码的混乱,是历史造成的。当初电脑只能处理英文,用 0~127 的 ASCII 字符。后来,各国都需要本地化,就出现了利用 128~255 之间的字符进行本地化的问题。先是欧洲国家的本地化,采用单字节字符集 0~255 。不同国家对 0~127 之间的 ASCII 字符的解释都是一样的,差别在于对 128~255 之间的扩展字符有着各不相同的解释。以上方案,似乎叫做 multi-lingual support(多国语言支持)。

然而,到了亚洲,情况发生了根本的变化。字符个数十分庞大,远远超过 256 个,不能用单字节来表示。各国都推出了自己的本地化方案,中国制定了国家标准 GB2312,日本,韩国等都是类似,也制定了他们的标准。亚洲各种字符集标准互不兼容,就像欧洲的各种 multi-lingual 方案互不兼容一样。

统一码是后来才出现的。然而,在统一码出现之前,各国(各地区)本地化已经成了气候,不能简单删除掉本地化的规范。这样,就需要共存。共存就涉及到字符集的转码。

字符集转码的问题很多。未来的软件,可能都会向着统一码靠拢。Linux 就基本上都是采用统一码了,将来会逐步淘汰掉其他各种乱七八糟的字符集编码格式。如果能够消除转码,电脑的世界将轻松很多。

微软的 notepad 会产生 BOM。然而,带有 BOM 的 boot.ini 就会出问题。所以,就连微软都不是全面支持 BOM。其他不支持 BOM 的软件就更不能算是什么事了。

最根本之道,是消除转码,都采用统一码。也许一百年不行,那就 200 年,300 年……

作者: gnuxwy    时间: 2019-8-27 20:23
碰到过对BOM支持不良的情况,不过grub4dos没这问题。。。
字符编码正如不点大师所说,氏个历史问题。

当前情况,感觉还氏utf8编码最切合实际情况。就氏对于汉字编码而言略长,还不规整,三字节汉字多。
等个几十年上百年,utf8编码被所有系统一致支持了,也许再推行utf16也行,毕竟编码规整些。





欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3