换行没有出现在YAML中?

时间:2012-11-06 15:29:02

标签: yaml minecraft

我正在查看数据库的YAML配置文件,我看到的只是一大堆文本。但是,我注意到偶尔会丢失一个字符,如果我用键盘上的箭头键导航,我注意到偶尔有一个光标卡住的位置,需要我按两次箭头键而不是一。我目前假设这是一个只有YAML解析器才能读取的换行符。当我按ENTER强制换行时,YAML解析器不再理解配置文件。如何在不使用非Windows程序的情况下超越此限制?此换行符的Hex值为0A。


根据要求,可以在下面的链接中找到当前YAML文本的外观和我希望它看起来的片段(由于StackExchange的缩进使用有限。请注意,这些是两个不同的文件,用于游戏的配置。解析器的API是here


What I would like the config to look like
What the config currently looks like

我还注意到,第二个链接可能会将其显示为YAML文件,因为它将换行符注册为换行符。但是,下面的块可能会让你知道它对我来说是什么样的。

  

RWtorchLight:由MYCRAFTisbest制作的1.2版本   indent1:''   注意:'元数据值是以下后的数字:'   例如:黑色羊毛,Light_Block中有35个,Meta Data中有15个   Light_Block:89   Meta_Deta_LB:0   重要提示:火炬和靴子尚未与Meta Data兼容   Torch_Item:50   Helmet_Item:314   Boot_Item:317   indent2:''   Torch_Use:是的   Helmet_Use:是的   Boot_Use:true   T-or-T模式:戴南瓜和以下所有功能时会产生昏暗的光线   捣蛋模式:是的   C的C:Cookie的机会是伎俩或治疗者获得糖果的机会   设置为:'“0”没有机会'   Cookie的机会:5000   C的N:'当收到Cookies时,将随机选择1和#之间的数字'   饼干数量:5

1 个答案:

答案 0 :(得分:0)

<强>背景

在审核您的问题以及评论中的相关讨论之后,可能的情况是您的YAML文件被以下内容损坏:

  • Notepad.exe的;
  • 您的FTP / SFTP /网页/用于上传文本的内容; OR
  • 以上两者的组合

<强>问题

YAML语法对空格和缩进敏感,建议不要使用MSFT notepad.exe,因为它可能不支持YAML文件中指定的编码。

由于YAML使用空格来分隔数据,因此对文本的任何类型的修改都与原始编码和原始YAML的空格不一致,这可能会使文件无法使用。

这是YAML的一个方面,它可能比其他格式(如JSON或XML)更脆弱。

<强>解

使用其他编辑器(如Notepad ++)(如评论中所推荐),或者,如果您没有足够的权限安装其他文本编辑器,请使用在线文本编辑器(如editpad)(http://www.editpad.org/) )编辑YAML并将其保存到计算机上的本地文件中。

除了notepad.exe之外,使用文本编辑器将文件保存到本地计算机后,使用不对文本应用任何类型的文本过滤器的选项上传文件。

例如,某些网站会从用户上传的文本中删除字符,以防止数据损坏和安全风险。

逐步

  • 从已知的格式良好的YAML文件开始,例如您在“我希望配置看起来像什么”中指定的文件。
  • 将其粘贴到Notepad ++(本地计算机)或编辑板(基于Web的编辑器)
  • 修改YAML文件,使其与您想要的设置匹配
  • 将修改保存到原始文件
  • 通过SFTP或其他保留原始编码的方式上传文件