Конверктировать переменную в koi8-r

bedl0

Client
Регистрация
07.12.2012
Сообщения
244
Благодарностей
56
Баллы
28
Подскажите пожалуйста как по средством C# сниппета конверктировать переменную в кодироваку
koi8-r
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113
Изначально переменная в какой кодировке
 

bedl0

Client
Регистрация
07.12.2012
Сообщения
244
Благодарностей
56
Баллы
28
Текстовик из списка, у него кодировка UTF8 от туда берем строку, ложим в переменную, и вот эту переменную нужно конверктунть в koi8-r.
На деле иэто выгялдит примерно так UTF-8(Привет медвед) to koi8-r = оПХБЕР ЛЕДБЕД
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113

iDnx

Client
Регистрация
06.06.2013
Сообщения
129
Благодарностей
104
Баллы
43
Код:
byte[] utfBytes = Encoding.UTF8.GetBytes(project.Variables["source"].Value);
byte[] koi8rBytes = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("KOI8-R"), utfBytes);
var koi8rString = Encoding.GetEncoding("KOI8-R").GetString(koi8rBytes);
koi8rString - в переменной данные в кодировке KOI8-R
 

bedl0

Client
Регистрация
07.12.2012
Сообщения
244
Благодарностей
56
Баллы
28
byte[] utfBytes = Encoding.UTF8.GetBytes(project.Variables["keyword"].Value);
byte[] koi8rBytes = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("KOI8-R"), utfBytes);
var koi8rString = Encoding.GetEncoding("KOI8-R").GetString(koi8rBytes);
return koi8rString;

Возвращает туже строку что и на входе, без перекодирования. В переменной keyword положил слово Проверка, на выходи после выполнения кода туже строку и получил, в новую переменую. или я чтото не так делаю ?


 
Последнее редактирование:

bedl0

Client
Регистрация
07.12.2012
Сообщения
244
Благодарностей
56
Баллы
28
Есть решени, конечно не то чего хотелосьбы, но костыль работает. http://zennolab.com/discussion/threads/kodirovka-dannyx-v-post.14746/#post-92439
Можно еще укоротить код сделалв его вот таким.
1.php

<?php $keyword = iconv('windows-1251', 'UTF-8', $_GET['key']);echo $keyword; ?>

Передавать параметр key вот таким способом.
1.php?key=Просто порно)
Спасибо gs517

Но решение на C# все еще разыскивается.
 

bedl0

Client
Регистрация
07.12.2012
Сообщения
244
Благодарностей
56
Баллы
28
Мужики подыму тему, очень актуальнонужно. Может есть у кого решение на C#
 

bedl0

Client
Регистрация
07.12.2012
Сообщения
244
Благодарностей
56
Баллы
28
В общем, решение которое дал iDnx оказалось самое верное, за что ему спасибо). Немного нужно было всего подправить под себя а именно в моем случае работает вот так:

Код:
byte[] utfBytes = Encoding.UTF8.GetBytes(project.Variables["keyword"].Value);
byte[] koi8rBytes = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("windows-1251"), utfBytes);
var koi8rString = Encoding.GetEncoding("koi8-r").GetString(koi8rBytes);
return koi8rString;
 
  • Спасибо
Реакции: alekwuy, GreenWay и iDnx

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)