设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2141|回复: 6
打印 上一主题 下一主题

[已经过期] 什么是BOM??

[复制链接]

Lv2.观梦者

梦石
0
星屑
635
在线时间
244 小时
注册时间
2010-9-9
帖子
472
跳转到指定楼层
1
发表于 2010-12-5 11:22:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我在http://rpg.blue/thread-162396-1-1.html得到了我要的脚本,
但是有一个很像叫做BOM的问题,
由于不能一贴多问所以我发了一个新帖,
到底什么是BOM???

Lv3.寻梦者

酱油的

梦石
0
星屑
1010
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

2
发表于 2010-12-5 11:30:46 | 只看该作者
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
635
在线时间
244 小时
注册时间
2010-9-9
帖子
472
3
 楼主| 发表于 2010-12-5 11:50:24 | 只看该作者
本帖最后由 EngShun 于 2010-12-5 11:51 编辑

回复 禾西 的帖子

那为什么只要是Scene的脚本就不能用txt读取??会发生Syntax Error
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
4
发表于 2010-12-5 12:51:26 | 只看该作者
回复 EngShun 的帖子

首先, UTF-8 的 BOM 是 0xEFBBBF,而 Ruby 1.8 在 UTF-8 解析模式下会将 7 位 ASCII 字符集之外的字符视为有效的标识符字元。其次,eval 执行脚本前会先进行词法分析,当词法分析器进行字元化时,由于首当其冲的就是在 7 位 ASCII 之外的 BOM 字符,词法分析器会认为这是一个标识符的开始。如果这时 BOM 后面跟着的恰好是一个有对应 `end' 的 Ruby 关键字,比如 `class',那么 `class' 加上 BOM 这个前缀就会成为一个普通的标识符。之后,在文法分析(词法分析后的第二个阶段)的时候,就会因为 class 从关键字变成了一个普通的标识符,导致 `end’ 没有匹配的 `class' 而报出语法错误。

所以以下的错误和你的是一致的:

  1. eval("\xEF\xBB\xBFclass Scene_Map; end")
复制代码
只要脚本(字符串、文件)开头是有相应 `end' 的关键字,都会出现发生这样的情况。

BOM 对 UTF-8 毫无作用,因为 UTF-8 只有一种端序(字节序)。每次都默认给 UTF-8 编码的文本添加上 BOM 的缺德事也只有微软的记事本程序能干得出来了;P
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
21 小时
注册时间
2007-7-3
帖子
573
5
发表于 2010-12-8 10:44:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
953 小时
注册时间
2007-4-25
帖子
805
6
发表于 2010-12-8 11:28:49 | 只看该作者
回复 goahead 的帖子

只能自动识别 Unicode 编码家族的成员,实际应用的时候用处不大,由于在类 Unix 上会影响 Shebang 的解析,以及各种脚本语言解释器的不兼容,Unicode 标准不建议给 UTF-8 加上 BOM:sleepy:

Use of a BOM is neither required nor recommended for UTF-8, but may be encountered in contexts where UTF-8 data is converted from other encoding forms that use a BOM or where the BOM is used as a UTF-8 signature.
- "The Unicode Standard 5.0, Chapter 2:General Structure" (PDF). pp. 36
[email protected]:~> repeat 1 fortune
Matz is nice, so we are nice.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
22 小时
注册时间
2015-8-30
帖子
5
7
发表于 2015-9-13 14:36:58 | 只看该作者
天杀的,回答的太专业了,让我这专业挖坟师佩服得五体投地啊

点评

你谁的坟不挖偏挖了老子的坟  发表于 2015-9-15 09:58

评分

参与人数 1星屑 -20 收起 理由
RyanBern -20 挖坟费

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-29 22:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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