我在Java中有轉義序列的問題。 我打電話給一個Web服務女巫接受一些字符串參數和一個字節[]參數,並返回byte []。 當我收到該字節[]時,我將它寫入文件並使用Open Office等文本編輯器打開該文件。 一切看起來都很好,但我\ n和\ t被替換爲空格(「」)。 之前使用過此Web服務的用戶表示,如果我將\ n和\ t替換爲字符
和

,但它仍然不起作用,它將起作用。Java - 轉義序列丟失
我嘗試了幾乎所有我在谷歌上找到的解決方法,但仍然沒有解決它。 我仍然認爲Web服務是好的,這取決於我的新行和製表符,但我不知道是否有任何其他字符組合可以正確替換我的\ n和\ t。
我很難在這裏問正確的問題,因爲我看不到Web服務的實現。 也許我發送的SOAP消息做了一些轉換? 還是有別的東西,如:
String replaceString = myString.replace("\\n", "
");
還是我做錯了?
編輯:
的解決方案應該是這樣的:
https://github.com/NetAngels/django-webodt/issues/10
但即使這樣,仍然沒有幫助我。
在此先感謝。
更新: 我發送一個空的openOffice .odf file (byte[])
,一些包含登錄用戶名等的字符串和一個包含來自我在表單上的文本字段的所有用戶輸入的HashMap。在該文本字段中,用戶經常輸入換行符或製表符,並且當通過Web服務合併所有內容時,換行符和製表符將被替換爲空格。 Web服務運行良好,我可以完全訪問它。 web服務方法返回的是byte [] witch,表示填充的.odt文件。
向我們顯示您的代碼。如果您接收到字節,則應直接將它們寫入文件,而不將任何內容轉換爲字符串。一個字節[]用於二進制數據。 –
當我收到字節[]時,我沒有將任何東西轉換爲字符串。我發送到Web服務的字符串和字節[]以某種方式合併,但合併不會附加\ n和\ t。所以,我正在替換我發送的字符串。 – Nikola
這是一件好事,但你仍然不顯示你的代碼,所以它仍然不可能找到它裏面的錯誤。 –