Чем можно разкодировать?

Discussion in 'PHP' started by black12, 25 Feb 2012.

  1. black12

    black12 New Member

    Joined:
    21 Feb 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Имеется такой текст,закодированный утилитой из JDk

    \u672C\u670D\u52A1\u5668\u6682\u
    65F6\u4E0D\u652F\u6301\u65B0\u7528
    u6237\u6CE8\u518C

    как разкодировать не знаю,кто что подскажет?
     
  2. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,697
    Likes Received:
    3,139
    Reputations:
    236
    Unicode, не?
    но тогда почему символы, а не цифры - u6CE8?

    при наборе текста с Alt+последовательность цифр - получается нечто неосмысленное.
     
  3. black12

    black12 New Member

    Joined:
    21 Feb 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    да unicode

    утилита native2ascii она конвертирует текст в такой код,но как обратно из этого кода получить текст???
    вот еще часть кода:
    \u3001\u6211\u81EA\u5DF1\u8F93\u5165\u670D\u52A1\u5668\u5730\u5740
    меня больше интересует как разкодировать это на русский
     
  4. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,697
    Likes Received:
    3,139
    Reputations:
    236
    знакомо ))
    когда получаю мейл, и в нём стоят кракозяблы нечитаемые.
    перекодировал ручками - получалось, методом дедукции и русского мата.
    и писал в ответ письма с лучами поноса - "Кодировку поправь!"

    а так, если нужно быстро - www.unicodetools.com/unicode/utf8-to-latin-converter.php
    но с u3001 навряд ли возьмёт. u будет мешать.

    про google://online unicode to ascii - ясно и так.
    по памяти - в студии/сайте Артема Лебедева есть(было) нужное на эту тему.
     
  5. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    function DecodeJC($data)
    {
        
    $data str_replace('\\u'''$data);
        
    $result '';
        
        for(
    $i 0$c strlen($data) - 1$i $c$i += 2)
            
    $result .= chr(hexdec($data[$i].$data[$i 1]));
        return 
    iconv('utf-16''utf-8'$result);
    }
     
  6. black12

    black12 New Member

    Joined:
    21 Feb 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0


    не совсем понял как воспользоваться этой функцией(?
     
  7. Chaak

    Chaak Elder - Старейшина

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    установить
    PHP:
    <?php 
    $str 
    '\u672C\u670D\u52A1\u5668\u6682\u
     65F6\u4E0D\u652F\u6301\u65B0\u7528
     u6237\u6CE8\u518C'
    ;

    function 
    DecodeJC($data

        
    $data str_replace('\\u'''$data); 
        
    $result ''
         
        for(
    $i 0$c strlen($data) - 1$i $c$i += 2
            
    $result .= chr(hexdec($data[$i].$data[$i 1])); 
        return 
    iconv('utf-16''utf-8'$result); 


    echo 
    DecodeJC($str);
     
    #7 Chaak, 26 Feb 2012
    Last edited: 26 Feb 2012
  8. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    PHP:
    return iconv('utf-16''utf-8'$result);
    UTF-16BE, текст на китайском: "The server is temporarily not support the new user registration" (перевод от гугла)
     
  9. black12

    black12 New Member

    Joined:
    21 Feb 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    всем спасибо.