我正在製作一個web服務,需要在Windows/DotNet RichTextBox中創建/操作客戶端使用的富文本。 該服務的用戶將來自世界各地。RichTextBox全球化
該服務接受客戶端從RichTextBox.Rtf提供的字符串,進行一些操作並向客戶端返回字符串,該字符串放回到文本框的Rtf字段中。
工作正常,但我對全球化的一些擔憂,例如..
我的開發機器上出現一個空的RichTextBox有RTF爲:
{\rtf1\ansi\ansicpg1252\deff0\deflang1044{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
\viewkind4\uc1\pard\f0\fs17\par
}
當創建一個新的記錄,服務需要提供一些默認的格式化文本。 我假設某人在他們的操作系統安裝上有不同的語言,將會爲默認的空RichTextBox使用不同的字體,ansicodepage和deflang。 所以我發現我可以提供以下字符串的新紀錄沒有得到一個格式異常...
{\rtf1\ansi\viewkind4\uc1\pard\f0\fs17 MyTextGoesHere\par}
設置RichTextBox.Rtf以上後,然後我檢查RTF,發現它已重新插入的字體和defLang的如下...
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}\viewkind4\uc1\pard\lang1044\f0\fs17 MyTextGoesHere\par}
問題:
1>我應該擔心這個或我必須保持我的服務剝離出來?
2>剝離它是否安全?客戶是否仍然能夠在文中使用他們的語言中的字符?
3>它是跨語言兼容嗎?如果我使用不同於其他用戶的操作系統/語言查看Richtext,它會看起來正常嗎?
任何recomendations或指針?
它很*不清楚爲什麼你擔心字體。這只是影響文本格式*的標記,而不影響文本的*含義*。格式化適用於人眼,而非機器。當然你的服務只關心在文本中編碼的信息,而不是它看起來像什麼?即使你傳輸RTF,你仍然可以使用接收端的Text屬性來找出它的含義。或者你只是不打擾和傳輸文本。 –
我最擔心的是,用另一種語言創建的另一用戶創建的客戶端查看文本時,如果他們嘗試查看它,它會得到某種格式異常。次要擔心是它看起來像完全垃圾,並認爲我的服務/應用程序出了問題。 – Dorf
不會有任何格式異常,每個人都使用相同的RTB和RTF。它對中國人來說就像中國人。 –