我在vb.net中使用richtextbox,其中包含值“секция”,这是俄语单词。
rtf1.selectedrtf
和rtf.rtf
,它会返回/Un
个字符的表示形式。 rtf
中是否有任何方式或选项可以返回\uXXXX
格式的值?
секция='f1\'e5\'ea\'f6\'e8\'ff
секция=\u0441\u0435\u043A\u0446\u0438\u044F (<-- i need this format)
=============================
rtf1.text=секция
rtf1.selectedrtf returns
"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset204{\*\fname Arial;}Arial CYR;}} \uc1\pard\b\protect\f0\fs16\'f1\'e5\'ea\'f6\'e8\'ff} "
答案 0 :(得分:1)
我有一个小函数将unicode字符串转换为unicode rtf文本。
Private Function UnicodeStringToRtfText(str As String) As String
Dim arrStr As Char() = str.ToCharArray()
Dim retStr As String = ""
For Each ch As String In arrStr
If (AscW(ch) > 122) Then
retStr &= "\u" & AscW(ch) & "?"
Else
retStr &= ch
End If
Next
Return retStr
End Function
希望这有帮助!
答案 1 :(得分:0)
您可以使用System.Text中的Encoding类来获取utf 8中的格式。
例如:
Encoding.UTF8.GetBytes(RichTextBox1.Text)
有关详细信息,请查看msdn上的以下链接:
Encoding.UTF8 Property 它有很好的编码示例,您可以遵循。我没有找到设置richtextbox的编码,但你可以使用编码类来获得你想要的格式。