无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3920|回复: 6
打印 上一主题 下一主题

请问下gurb4dos的菜单要求的utf-8编码,是有签名的好,还是没有签名的好?

[复制链接]
跳转到指定楼层
1#
发表于 2019-8-22 08:01:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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, 下载次数: 98)

QQ截图20190822080700.jpg
2#
发表于 2019-8-22 08:13:03 | 只看该作者
gurb4dos是开源的吧,那作者对签名也许没什么表态。
回复

使用道具 举报

3#
发表于 2019-8-22 10:29:51 | 只看该作者
menu.lst 可以带有 BOM,它会被忽略。

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

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

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

回复

使用道具 举报

4#
发表于 2019-8-22 20:23:10 | 只看该作者
长知识了。确实有些文本转换的软件对BOM情况支持不太好。
回复

使用道具 举报

5#
 楼主| 发表于 2019-8-26 09:19:27 | 只看该作者
        不点和winflash大神,都是linuxer,我没怎么玩过linux,很久以前玩过国内的linux发行包中标普华、中华麒麟等。我觉得windows下还是用带BOM的好,更容易被windows下面的软件识别,不会有问题。而在linux和unix世界,我感觉大家更喜欢不带BOM的。
回复

使用道具 举报

6#
发表于 2019-8-26 12:08:26 | 只看该作者
编码的混乱,是历史造成的。当初电脑只能处理英文,用 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 年……
回复

使用道具 举报

7#
发表于 2019-8-27 20:23:22 | 只看该作者
碰到过对BOM支持不良的情况,不过grub4dos没这问题。。。
字符编码正如不点大师所说,氏个历史问题。

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

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 06:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表