Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/92: Рейтинг темы: голосов - 92, средняя оценка - 4.54
 Аватар для Ingohor
11 / 9 / 0
Регистрация: 08.05.2011
Сообщений: 87

С ASCII в UTF-8

06.07.2011, 20:00. Показов 19668. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть строка playername в ASCII надо перевести в UTF-8
И на выходи должно быть string play;

P.S Уже перебрал не получаетца, можете дать готовое решения!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.07.2011, 20:00
Ответы с готовыми решениями:

<globalization fileEncoding='utf-8' requestEncoding='utf-8' responseEncoding='utf-8' />
Если в коде пишу строку скажем Response.Write ('Вася дурак') - все срабатывает нормально, а если в &lt;body&gt;&lt;h1&gt;Вася...

Не правильно конвертирует в UTF-8
Ребят, такая беда, Есть некий байтовый массив, в котором хранится строка я С помощью функции которая по частям вытаскивает этот...

Не большой вопрос по UTF - 8
Например у нас есть переменная типа стринг как ее перекодировать в UTF - 8 чтобы потом вывести в текстбокс. Заранее спасибо.

15
389 / 304 / 67
Регистрация: 10.07.2010
Сообщений: 802
06.07.2011, 21:12
может что то типа этого
C#
1
string s = Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(String_in_ASCII));
0
 Аватар для Ingohor
11 / 9 / 0
Регистрация: 08.05.2011
Сообщений: 87
06.07.2011, 21:13  [ТС]
Цитата Сообщение от zelen Посмотреть сообщение
может что то типа этого
C#
1
string s = Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(String_in_ASCII));
Знаки вопросов
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
06.07.2011, 21:53
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.IO;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            FileStream fin = File.Open("C:\\in.txt", FileMode.OpenOrCreate);
            FileStream fout = File.Create("C:\\out.txt");
            Int32 len = (Int32)fin.Length;
            byte[] in_bytes = new byte[len];
            fin.Read(in_bytes, 0, len);
 
            Encoding in_code = Encoding.GetEncoding(866);
            Encoding out_code = Encoding.UTF8;
 
            byte[] out_bytes = Encoding.Convert(in_code, out_code, in_bytes, 0, len);
            fout.Write(out_bytes, 0, out_bytes.Length);
            fin.Close();
            fout.Close();
        }
    }
}
Русский текст на ASCII не нашел у себя на компе. Поэтому сделал из CP866 в UTF8.
Чтобы переделать из ASCII в UTF8 нужно исправить:
C#
1
Encoding in_code = Encoding.GetEncoding(866);
на это:
C#
1
Encoding in_code = Encoding.ASCII;
Добавлено через 6 минут
Кстати, а есть смысл переводить?
http://ru.wikipedia.org/wiki/UTF-8
Первые 128 символов из UTF-8 это и есть ASCII. Или я неправильно понял?
0
 Аватар для Ingohor
11 / 9 / 0
Регистрация: 08.05.2011
Сообщений: 87
06.07.2011, 22:14  [ТС]
Азурегос
Ну вот мненадо перевести в UTF-8 програминим способом
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
06.07.2011, 22:30
Цитата Сообщение от Ingohor Посмотреть сообщение
Ну вот мненадо перевести в UTF-8 програминим способом
Ну... Мой код это и делает. Программным способом.
0
 Аватар для Ingohor
11 / 9 / 0
Регистрация: 08.05.2011
Сообщений: 87
06.07.2011, 22:32  [ТС]
Цитата Сообщение от Евгений М. Посмотреть сообщение
Ну... Мой код это и делает. Программным способом.
Тут до int а мне для string может туплю
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
06.07.2011, 22:35
Цитата Сообщение от Ingohor Посмотреть сообщение
Тут до int а мне для string может туплю
Не понял.
0
 Аватар для Ingohor
11 / 9 / 0
Регистрация: 08.05.2011
Сообщений: 87
06.07.2011, 22:54  [ТС]
Можеш сделать вход string на выходе string без файлов а то запутался
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
06.07.2011, 22:58
Входной string как-нибудь сами.
А вот выходной:
C#
1
out_code.GetString(out_bytes);
Только я вот без понятия, в какой кодировке хранится String и в каком отображается. Файлы использовал, потому-что Notepad++ (заменяет обычный блокнот) показывает, в какой кодировке файл.
0
 Аватар для Ingohor
11 / 9 / 0
Регистрация: 08.05.2011
Сообщений: 87
06.07.2011, 23:06  [ТС]
C#
1
2
3
4
5
6
7
8
Int32 len = (Int32)playername.Length;
  byte[] in_bytes = new byte[len];
            Encoding in_code = Encoding.GetEncoding(866);
            Encoding out_code = Encoding.UTF8;
 
            byte[] out_bytes = Encoding.Convert(in_code, out_code, in_bytes, 0, len);
            string sk = out_code.GetString(out_bytes);
            listBox1.Items.Add("Player Name: " + sk);
Не работает где ошибка
0
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
06.07.2011, 23:13
in_bytes объявили, а вот с playername не связан. Только кол-во символов.
0
 Аватар для Ingohor
11 / 9 / 0
Регистрация: 08.05.2011
Сообщений: 87
06.07.2011, 23:29  [ТС]
А можног готовий
0
 Аватар для s-kvv
76 / 73 / 9
Регистрация: 09.06.2010
Сообщений: 206
07.07.2011, 12:22
Цитата Сообщение от Ingohor Посмотреть сообщение
Есть строка playername в ASCII надо перевести в UTF-8
И на выходи должно быть string play;

P.S Уже перебрал не получаетца, можете дать готовое решения!
Откуда берется строка в ASCII? Строки в .net хранится в кодировке utf-16
Если в строке какие-то непонятные символы, когда ожидается нормальный текст, то значит из источника неправильно прочитано
Т.е. принцип такой - откуда-то чем-то читается строка (например из файла), при этом указывается кодировка файла. Когда прочитали, то имеем строку string, внутри она utf-16. Если ее никуда сохранять ненадо, то больше с ней ничего делать ненадо.
А если надо сохранить, то опять указываем кодировку, в файл сохраняется строка в нужной кодировке. Переводиться из utf-16 в нужную
т.о. кодировки нужны обычно только при получении строки откуда-то и при сохранении строки куда-то, а внутри программы кодировка одна и таже
0
 Аватар для Ingohor
11 / 9 / 0
Регистрация: 08.05.2011
Сообщений: 87
07.07.2011, 16:56  [ТС]
Цитата Сообщение от s-kvv Посмотреть сообщение
Откуда берется строка в ASCII? Строки в .net хранится в кодировке utf-16
Если в строке какие-то непонятные символы, когда ожидается нормальный текст, то значит из источника неправильно прочитано
Т.е. принцип такой - откуда-то чем-то читается строка (например из файла), при этом указывается кодировка файла. Когда прочитали, то имеем строку string, внутри она utf-16. Если ее никуда сохранять ненадо, то больше с ней ничего делать ненадо.
А если надо сохранить, то опять указываем кодировку, в файл сохраняется строка в нужной кодировке. Переводиться из utf-16 в нужную
т.о. кодировки нужны обычно только при получении строки откуда-то и при сохранении строки куда-то, а внутри программы кодировка одна и таже
Считиваетца пямять процеса в ASCII
И если при читивани перевести в utf-8 получитца нормальний вариант тот что мне нужен
0
 Аватар для s-kvv
76 / 73 / 9
Регистрация: 09.06.2010
Сообщений: 206
08.07.2011, 01:33
Цитата Сообщение от Ingohor Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
Int32 len = (Int32)playername.Length;
  byte[] in_bytes = new byte[len];
            Encoding in_code = Encoding.GetEncoding(866);
            Encoding out_code = Encoding.UTF8;
 
            byte[] out_bytes = Encoding.Convert(in_code, out_code, in_bytes, 0, len);
            string sk = out_code.GetString(out_bytes);
            listBox1.Items.Add("Player Name: " + sk);
Не работает где ошибка
Вам просто нужно при переводе байтов в строку указать кодировку, в которой они представлены в источнике. Никаких преобразований байтов из одной кодировки в другую делать не нужно
C#
1
string sk = Encoding.ASCII.GetString(in_bytes, 0, len);
Если в in_bytes байты строки в ASCII, то в sk будет "нормальный" string
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.07.2011, 01:33
Помогаю со студенческими работами здесь

Encode/Decode UTF-8
День добрый. Имеется строка 1022.%25D0%25A1%25D0%259F_690_small.png и ее изначальное состояние 1022.СП_690_small.png Вопрос как...

Декодировать Windows-1251 в utf-8
Сделал запрос на сайт, приходит текст такого типа(должна кириллица) Р’С‹ будете перемещены РЅР° страницу...

Получить html код в utf-8
отправляю get запрос к сайту StreamWriter sw = File.CreateText(&quot;index.html&quot;); http.Method = &quot;GET&quot;; http =...

Кодировка Quoted-Printable UTF-8
Здравствуйте ! Пытаюсь раскодировать Quoted-Printable строку... код работает нормально для любой кодировки, кроме UTF-8, я не знаю,...

Не сохраняется файл в кодировке utf-8 without bom
Мне нужно сохранить файл в кодировке UTF-8 без BOM. Для этого пробовал два способа - //FastColoredTextBox fctbMain.SaveToFile(file,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru