2012-11-06 82 views
2

我正在查看數據庫的YAML配置文件,我看到的只是一大堆文本。不過,我注意到,如果我使用鍵盤的箭頭鍵進行導航,偶爾會出現一個缺失的字符,我注意到偶爾有一個光標卡住的位置,並且需要我按兩次箭頭鍵而不是一。我目前假設這是隻有YAML解析器才能讀取的換行符。當我按ENTER強制換行時,YAML解析器不再理解配置文件。如何在不使用非Windows程序的情況下通過此限制?此換行符的十六進制值爲0A。換行符在YAML中不顯示?


按照要求,什麼樣的電流YAML文本看起來像什麼,我想它看起來像可從以下(由於StackExchange的有限使用縮進的鏈接找到一個片段。請注意,這是兩個一個遊戲的配置不同的文件。解析器的API是here


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

它也來我的注意要n第二個鏈接可能會將其顯示爲YAML文件,因爲它將換行符註冊爲換行符。但是,下面的塊可能會讓你知道它對我來說是什麼樣子。

RWtorchLight:版本1.2通過MYCRAFTisbest indent1製成: '' 注: '的元數據valuse是後的數字的:' 對於實施例:黑色羊毛,放在Light_Block 35和15在元數據 Light_Block:89 Meta_Deta_LB:0 重要:50 Helmet_Item:314 Boot_Item:317 indent2:火炬和靴子不與元數據尚未 Torch_Item compatable '' Torch_Use:真 Helmet_Use:真 Boot_Use:真 T或T模式:當穿着南瓜和所有以下特徵時會產生昏暗的光線 Trick-or-Treat模式:真 C:C的可能性是誘騙或處理人獲得糖果的頻率的機會 設置爲: ' 「0」 沒有機會' 可能的Cookie:5000 的C N: '被接收餅乾時將隨機選擇1和#之間的數目' 數量的Cookies:5

+0

第一件事:那些字符是什麼?爲此使用一個Hexeditor。在做任何事情之前沒有任何意義,然後才能回答。 – arkascha

+0

@arkascha Hexeditor顯示爲0A,而正常空間爲20. –

+1

0x0A(10)是一個正常的換行符,是的,的確,0x20(32)是空格字符。這可能是因爲你使用不同的linebreak編碼你使用YAML文本無法應對的'view'的應用程序時遇到的問題:MS-Windows使用與其他系統不同的linebreak編碼(總是讓事情稍微不兼容,因爲_very_重要到MS ......)。 MS-Windows使用0x0A 0x0D作爲換行符,而其他系統(像系統的unix)使用直接的'0x0A'。請參閱此處以瞭解YAML定義:http://yaml.org/spec/1.1/#id871136 – arkascha

回答

1

背景

在評論你的問題和評論中的相關討論後,情況是你的YAML文件被損壞:

  • notepad.exe;
  • 您的FTP/SFTP /網頁/無論用於上傳文本; OR
  • 一個上述兩種

問題

YAML語法的組合是空白和縮進敏感,以及使用MSFT記事本。不推薦使用exe,因爲它可能不支持YAML文件中指定的編碼。

由於YAML使用空格分隔數據,因此對與原始YAML的原始編碼和空白不一致的文本進行的任何修改都可能導致文件不可用。

這是YAML的一個方面,它使得它比其他格式(比如JSON或XML)更加脆弱。

SOLUTION

使用其他編輯器如記事本++(如評論推薦),或者如果你沒有足夠的權限來安裝其他文本編輯器,使用在線文本編輯器如的EditPad(HTTP: //www.editpad.org/)編輯並保存YAML到本機上的本地文件。

使用除notepad.exe以外的文本編輯器將文件保存到本地計算機後,使用不對文本應用任何文本過濾器的選項來上傳文件。

例如,一些網站從用戶上傳的文本中去除字符以防止數據損壞和安全風險。

STEP BY STEP

  • 開始用已知良好的YAML文件,比如你在「我想要什麼配置看起來像」指定的一個
  • 將其粘貼到記事本+ (本機)或的EditPad(基於Web的編輯器)
  • 修改YAML文件,以便它匹配的設置你想要
  • 您的修改保存到原文件
  • 通過SFTP或其他方式上傳文件,保留原始編碼
+0

謝謝,我目前使用Editpad。但是,問題並不在於上傳文件是否會破壞文件。它仍然有效,只是當我需要快速編輯文件時,我不喜歡該文件「聚集在一起」。 –

+1

嗯,好吧,聽起來好像沒有使用notepad.exe就是解決方案嗎? 如果是這樣恭喜,並玩得開心! – dreftymac

相關問題