Пререкодировать текст из \u041f\u0435\u0440\u0432

gluckbahr

Client
Регистрация
05.04.2014
Сообщения
84
Благодарностей
25
Баллы
18
Столкнулся с данными в формате "\u041f\u0435\u0440\u0432" необходимо преобразовать в кириллицу...
Все что нашел на эту тему! ПРогеры помогите пожалуйста.
Как это реализовать в зенке?
Код:
_SetListData()
Local $sURL = "http://smotri.n3.ru/services/gc.in?chtype=1"
Local $dl = InetRead($sURL, 2) ; Загружаем всё в переменную
Local $file = FileOpen("test.txt", 2) ; Создаём файл
FileWrite($file, $dl) ; Записываем в него полученные данные с сайта
FileClose($file)

Func _SetListData()
    Local $sFileRead = FileRead("test.txt")
    Local $aList1 = StringRegExp($sFileRead, 'address":"(.*?)","chan', 3)
;    Local $aList1 = StringRegExp($sFileRead, 'address":"(.*?)","chan', 3)
;   Local $aList2 = StringRegExp($sFileRead, 'chans\\/(.*?).png",', 3)
    Local $aList2 = StringRegExp($sFileRead, 'name":"(.*?)","id', 3)

    Local $str = 0
    Local $stroka_1 = '=http://127.0.0.1:12701/Open?filename='
    Local $stroka_2 = '&displayname='
    Local $stroka_3 = '='
    Opt("GUIDataSeparatorChar", "#")
    $file = FileOpen("PCPlayerChannelSelector.ini", 1)

    FileWrite($file, "[Options]" & @CRLF)
    FileWrite($file, "LastChannelID=1" & @CRLF)
    FileWrite($file, "[ChannelListURLs]" & @CRLF)

If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf
;первая прогонка
    For $i = 0 To UBound($aList1) - 1
       
        $str = $str + 1
        $aSplit_Data = StringSplit($aList1[$i], "#")
        $sData = ""
        If $aSplit_Data[0] = 5 Then ContinueLoop ;It's the header data
            For $j = 1 To $aSplit_Data[0]
                $stroka = $str & $stroka_1 & $aSplit_Data[$j] & $stroka_2 & $str
                FileWrite($file, $stroka & @CRLF)
            Next
        Next
       
;вторая прогонка
    FileWrite($file, "[ChannelListNames]" & @CRLF)
    $str = 0
    For $i = 0 To UBound($aList2) - 1
        $str = $str + 1
        $aSplit_Data = StringSplit($aList2[$i], "#")
        $sData = ""
        If $aSplit_Data[0] = 5 Then ContinueLoop ;It's the header data
            For $j = 1 To $aSplit_Data[0]
                $stroka = $str & $stroka_3 & $aSplit_Data[$j]
                FileWrite($file, $stroka & @CRLF)
            Next
    Next

FileClose($file)
EndFunc
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 263
Баллы
113

KirillOFF

Client
Регистрация
18.12.2010
Сообщения
1 127
Благодарностей
517
Баллы
113
Сниппет на C# похоже будет такой (не проверял):
Код:
return Regex.Unescape(project.Variables["unicodeEntities"].Value);
Строку с данными для расшифровки положите в переменную unicodeEntities
 

KirillOFF

Client
Регистрация
18.12.2010
Сообщения
1 127
Благодарностей
517
Баллы
113
Вот так работает:
Код:
return  System.Text.RegularExpressions.Regex.Unescape(project.Variables["unicodeEntities"].Value);
 
  • Спасибо
Реакции: gluckbahr

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
891
Баллы
113
Мм... я не уверен... но вроде как этот блок кода уберет экранирование у спец символов... а тут нужно перекодировать из яваскрипта в человеческий...
 

KirillOFF

Client
Регистрация
18.12.2010
Сообщения
1 127
Благодарностей
517
Баллы
113
Проверено - работает как надо)
 

gluckbahr

Client
Регистрация
05.04.2014
Сообщения
84
Благодарностей
25
Баллы
18
Плиз положите шаб. подозреваемый текст в переменной, обработка, возврат в другую переменную.
 

gluckbahr

Client
Регистрация
05.04.2014
Сообщения
84
Благодарностей
25
Баллы
18
А! Кул! Работает!
 

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