Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2013, 14:34   #1
Alexandr5
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 13
По умолчанию Кодировка строки

Здравствуйте.
Я получаю определённые строки, которые изначально сохранены в ANSI кодировке, как говорит блокнот++.
Помогите перекодировать строчки так, что бы вместо иероглифов получились русские буквы.
Пример изначальной строки -
Images/рекламный+блок+маленький.png
Alexandr5 вне форума Ответить с цитированием
Старый 30.10.2013, 14:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Notepad++. Меню "Кодировка". Пункты "Кодировать в..."
Используй их.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2013, 15:24   #3
Alexandr5
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 13
По умолчанию

Я думал, раз в теме по С# значит понятно будет на чём реализовать пытаюсь. Извиняюсь за неполноту тогда.
Мне надо код перекодирования реализовать на С#.
Пробовал имеющуюся строку перегнать в байты, а потом снова в строку - не получилось.
Прошу по подробней описать алгоритм, так как я новичок в программировании.
Alexandr5 вне форума Ответить с цитированием
Старый 30.10.2013, 15:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Эм... http://msdn.microsoft.com/ru-ru/libr...vs.110%29.aspx
И сюда же: http://msdn.microsoft.com/ru-ru/libr...vs.110%29.aspx

Кстати: Как строки то получаешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2013, 15:42   #5
Alexandr5
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 13
По умолчанию

C помощью подключаемой библиотеки LogParser. Делаю выборку строк с помощью sql запросов.
Если же пользоваться чисто программой logparser, то она сама всё перекодирует.
А как это реализуется с помощью подключенной библиотеки, я не нашёл руководства.
Alexandr5 вне форума Ответить с цитированием
Старый 31.10.2013, 13:26   #6
Alexandr5
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 13
По умолчанию

Почитал. Мало чего понял. Вообще не понял по какому принципу там декодирование производится.
Можно хотя бы по пунктам рассказать, что делать?
Alexandr5 вне форума Ответить с цитированием
Старый 31.10.2013, 15:17   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну вот смотри:
Дается строка в юникоде:
Цитата:
String unicodeString =
"This unicode string contains two characters " +
"with codes outside the ASCII code range, " +
"Pi (\u03a0) and Sigma (\u03a3).";
Допустим ты в эту переменку свою строку передаешь
Описываешь объект, в который нужно перекодировать. Скажем в АСКИ:
Код:
Encoding ascii = Encoding.ASCII;
Потом конвертируешь:
Код:
ascii.GetString(ascii.GetBytes(unicodeString));
По идее на выходе получается строка в ASCII.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.10.2013, 15:42   #8
Alexandr5
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 13
По умолчанию

В том то и проблема, что он только по идее и перекодирует.
Подобное я тоже пробовал.
Самое интересное, что если использовать StremReader и получать файл целиком, тогда он перекодирует. А уже полученные строки не могу перекодировать и всё тут.

Последний раз редактировалось Alexandr5; 31.10.2013 в 15:46.
Alexandr5 вне форума Ответить с цитированием
Старый 31.10.2013, 15:46   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну поиграйся с классами энкодинга. Какой-то из них по идее должен подойти.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.10.2013, 17:52   #10
simples
Форумчанин
 
Регистрация: 03.10.2013
Сообщений: 142
По умолчанию

Цитата:
Сообщение от Alexandr5 Посмотреть сообщение
рекламный+блок+маленький.png
Код:
Encoding.UTF8.GetString(Encoding.GetEncoding(1251).GetBytes("рекламный+блок+маленький"))
simples вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
кодировка Mortimoro PHP 2 12.09.2012 20:35
Кодировка s_t_c Visual C++ 3 30.07.2012 10:49
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Кодировка MAcK Общие вопросы .NET 5 11.11.2008 13:34