powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / UTF16 to UTF8 TextBox
18 сообщений из 18, страница 1 из 1
UTF16 to UTF8 TextBox
    #38102657
boobonick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Пытаюсь понять как мне данные, которые я ввожу в textbox преобразовать в UTF8, как я понимаю данные textbox в UTF16. У кого-нибудь получалось? В частности интересует дальнейшее преобразование введенных русских символов в вид %AB%AC и т.д.
...
Рейтинг: 0 / 0
UTF16 to UTF8 TextBox
    #38102713
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
UTF16 to UTF8 TextBox
    #38102791
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile, интересно, почему UTF8?
Логически если подумать в UTF16 выделяется 2 байта (16 бит) на символ, а в случаи автора их выделяется уже целых 3 :)
но это я так, к слову
...
Рейтинг: 0 / 0
UTF16 to UTF8 TextBox
    #38102918
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Топикстартер случайно не HttpUtility.UrlEncode пытается написать?
...
Рейтинг: 0 / 0
UTF16 to UTF8 TextBox
    #38102935
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

ну может, что он хочет сделать круче :) чем HttpUtility.UrlEncode.
...
Рейтинг: 0 / 0
UTF16 to UTF8 TextBox
    #38103031
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилТопикстартер случайно не 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
UTF16 to UTF8 TextBox
    #38103121
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,

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

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

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

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


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