Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / UTF16 to UTF8 TextBox / 18 сообщений из 18, страница 1 из 1
08.01.2013, 23:19
    #38102657
boobonick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
Здравствуйте! Пытаюсь понять как мне данные, которые я ввожу в textbox преобразовать в UTF8, как я понимаю данные textbox в UTF16. У кого-нибудь получалось? В частности интересует дальнейшее преобразование введенных русских символов в вид %AB%AC и т.д.
...
Рейтинг: 0 / 0
09.01.2013, 00:18
    #38102713
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
boobonick,

строка в .NET всегда хранится в кодировке UTF-16. Получить экземпляр string в другой кодировке нельзя.

Твоя задача решается по другому. Получаешь массив байтов которые соответствуют строке в кодировке UTF-8 и строишь из него строку:
Код: c#
1.
2.
3.
4.
5.
6.
using System.Text;
...
string input = "входная строка';
byte[] utf8bytes = Encoding.UTF8.GetBytes(input);
var sb = new StringBuilder(utf8bytes.Length*3);
foreach (byte b in utf8bytes) sb.AppendFormat("%{0:X2}", b);
...
Рейтинг: 0 / 0
09.01.2013, 06:46
    #38102791
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
bazile, интересно, почему UTF8?
Логически если подумать в UTF16 выделяется 2 байта (16 бит) на символ, а в случаи автора их выделяется уже целых 3 :)
но это я так, к слову
...
Рейтинг: 0 / 0
09.01.2013, 10:16
    #38102918
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
Топикстартер случайно не HttpUtility.UrlEncode пытается написать?
...
Рейтинг: 0 / 0
09.01.2013, 10:24
    #38102935
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
Изопропил,

ну может, что он хочет сделать круче :) чем HttpUtility.UrlEncode.
...
Рейтинг: 0 / 0
09.01.2013, 11:20
    #38103031
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
ИзопропилТопикстартер случайно не HttpUtility.UrlEncode пытается написать?
Скорее всего. Тоже как раз об этом подумал.

Roman Mejtesbazile, интересно, почему UTF8?
Потому что именно эта кодировка используется в вебе чаще всего.

Roman MejtesЛогически если подумать в UTF16 выделяется 2 байта (16 бит) на символ, а в случаи автора их выделяется уже целых 3
Ты путаешь байты выделяемые под код символа с самими символами. Из строки "АБВ" (6 байтов в кодировке UTF-16) мы получим строку "%D0%90%D0%91%D0%92" (36 байтов в кодировке UTF-16).
...
Рейтинг: 0 / 0
09.01.2013, 12:01
    #38103121
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
bazile,

это был такой юмор :)
...
Рейтинг: 0 / 0
09.01.2013, 16:18
    #38103682
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
bazileИз строки "АБВ" (6 байтов в кодировке UTF-16) мы получим строку "%D0%90%D0%91%D0%92" (36 байтов в кодировке UTF-16).

поржал
...
Рейтинг: 0 / 0
09.01.2013, 16:30
    #38103708
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
pation, что именно тебя так насмешило?
...
Рейтинг: 0 / 0
09.01.2013, 18:12
    #38103917
boobonick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
Спасибо за ответы. Да мне нужно строку url введенную в textbox преобразовать в utf8, т.е. чтобы sql.ru/блаблабла преобразовать в
sql.ru/%BD%DC и в таком духе
...
Рейтинг: 0 / 0
09.01.2013, 18:33
    #38103939
pation
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
bazilepation, что именно тебя так насмешило?

именно эта фраза : Из строки "АБВ" (6 байтов в кодировке UTF-16) мы получим строку "%D0%90%D0%91%D0%92" (36 байтов в кодировке UTF-16).

не прочитал твой велосипед перед этим
...
Рейтинг: 0 / 0
09.01.2013, 20:35
    #38104072
boobonick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
Только не понятно, если я создаю приложение winforms, я же не могу использовать HttpUtility.UrlEncode, только Uri.EscapeDataString()?
...
Рейтинг: 0 / 0
09.01.2013, 20:49
    #38104087
boobonick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
а, надо ссылку добавить
...
Рейтинг: 0 / 0
09.01.2013, 21:27
    #38104128
boobonick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
Но как сделать так чтобы преобразовывалась только кириллица?
http%3a%2f%2ftest.ru . Т.е. выдается в итоге не http://test.ru
...
Рейтинг: 0 / 0
09.01.2013, 21:51
    #38104153
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
boobonickНо как сделать так чтобы преобразовывалась только кириллица?
http%3a%2f%2ftest.ru . Т.е. выдается в итоге не http://test.ru
подумать для начала
...
Рейтинг: 0 / 0
09.01.2013, 22:08
    #38104170
boobonick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
У меня такие представления - выбирать из всей строки только русские символы и изменять их.
...
Рейтинг: 0 / 0
10.01.2013, 12:35
    #38104667
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
boobonick, попробуй метод Uri.EscapeUriString
...
Рейтинг: 0 / 0
10.01.2013, 18:09
    #38105345
boobonick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UTF16 to UTF8 TextBox
Спасибо! То что нужно!
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / UTF16 to UTF8 TextBox / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]