2

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


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


我希望配置看起来像
什么配置当前看起来像什么

我还注意到第二个链接可能将其显示为 YAML 文件,因为它将换行符注册为换行符。但是,下面的代码块可能会让您了解它在我看来是什么样的。

RWtorchLight:MYCRAFTisbest 制作的 1.2 版 indent1:'' 注意:'元数据值是 :' 后面的数字 例如:黑色羊毛,在 Light_Block 中放入 35,在元数据中放入 15 Light_Block:89 Meta_Deta_LB:0 重要提示:手电筒和靴子尚不兼容元数据 Torch_Item: 50 Helmet_Item: 314 Boot_Item: 317 indent2: '' Torch_Use: true Helmet_Use: true Boot_Use: true T-or-T 模式:穿着南瓜和以下所有功能时会产生昏暗的灯光-or-Treat Mode: true C of C: Chance of Cookie 是不给糖就捣蛋的人获得糖果的几率 设置为: '"0" 表示没有机会' Cookie 的几率: 5000 N of C: '将随机收到 Cookie 时选择 1 到 # 之间的数字'Cookie 数量:5

4

1 回答 1

1

背景

在查看了您的问题和评论中的相关讨论后,您的 YAML 文件很可能被以下原因损坏:

  • 记事本.exe;
  • 您的 FTP/SFTP/网页/用于上传文本的任何内容;或者
  • 以上两者的结合

问题

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

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

这是 YAML 的一个方面,它可能比 JSON 或 XML 等替代格式更脆弱。

解决方案

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

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

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

一步步

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