RichTextbox, RTF в VB.NET - PullRequest
       44

RichTextbox, RTF в VB.NET

2 голосов
/ 30 марта 2012

Я использую richtextbox в vb.net, который содержит значение "секция", которое является русским словом.

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}  "  

Ответы [ 2 ]

1 голос
/ 07 января 2015

У меня есть небольшая функция для преобразования строки Unicode в текст RTF Unicode.

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

Надеюсь, это поможет!

0 голосов
/ 31 марта 2012

Вы можете использовать класс Encoding, найденный в System.Text, чтобы получить формат в utf 8.

Например:

Encoding.UTF8.GetBytes(RichTextBox1.Text)

Для получения дополнительной информации вы можете перейти по следующей ссылкеmsdn:

Свойство Encoding.UTF8 В нем есть хорошие примеры кодирования, которым вы можете следовать.Я не нашел способа установить кодировку для richtextbox, но вы можете использовать класс кодирования, чтобы получить желаемый формат.

...