RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1186641
Accepted
Sergey
Sergey
Asked:2020-10-06 13:08:05 +0000 UTC2020-10-06 13:08:05 +0000 UTC 2020-10-06 13:08:05 +0000 UTC

我在哪里可以在线查看和转换网站编码?

  • 772

我有一个我不知道其编码的网站。

我有node.js。如何找出文本的编码以进行转换?

https://zababurinsv.github.io/Michurin/maps/index.html

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    DiD
    2020-10-06T13:39:55Z2020-10-06T13:39:55Z

    您网站的元标记中有 WINDOWS-1251 编码。并且在它发送以显示为 UTF-8 的标头中的 Web 服务器设置中。事实上——KOI8-R 编码。

    我什至会给你写一个函数,它将任何文本从 KOI8-R 转换为 UTF-8。

    PHP 版本。

    <? 
    function chr_utf8 ( $num ) {   
      if ( $num < 128 ) {
        return chr ( $num );
      }
      if ($num < 2048) {
        return chr ( ( $num >> 6 ) + 192 ) . 
               chr ( ( $num & 63 ) + 128 ); 
      }
      if ($num < 65536) {
        return chr ( ( $num >> 12 ) + 224 ) . 
               chr ( ( ( $num >> 6 ) & 63 ) + 128 ) . 
               chr ( ( $num & 63 ) + 128 );
      }
      if ($num < 2097152) {
        return chr ( ( $num >> 18 ) + 240 ) . 
               chr ( ( ( $num >> 12 ) & 63 ) + 128 ) . 
               chr ( ( ( $num >> 6 ) & 63 ) + 128 ) . 
               chr ( ( $num & 63 ) + 128 );
      }
      return '';
    }
    function koi8r_utf8 ( $str ) {
      $map = [
        0x80 => 0x2500, 0x81 => 0x2502, 0x82 => 0x250C, 0x83 => 0x2510, 
        0x84 => 0x2514, 0x85 => 0x2518, 0x86 => 0x251C, 0x87 => 0x2524, 
        0x88 => 0x252C, 0x89 => 0x2534, 0x8A => 0x253C, 0x8B => 0x2580, 
        0x8C => 0x2584, 0x8D => 0x2588, 0x8E => 0x258C, 0x8F => 0x2590, 
        0x90 => 0x2591, 0x91 => 0x2592, 0x92 => 0x2593, 0x93 => 0x2320, 
        0x94 => 0x25A0, 0x95 => 0x2219, 0x96 => 0x221A, 0x97 => 0x2248, 
        0x98 => 0x2264, 0x99 => 0x2265, 0x9A => 0x00A0, 0x9B => 0x2321, 
        0x9C => 0x00B0, 0x9D => 0x00B2, 0x9E => 0x00B7, 0x9F => 0x00F7, 
        0xA0 => 0x2550, 0xA1 => 0x2551, 0xA2 => 0x2552, 0xA3 => 0x0451, 
        0xA4 => 0x2553, 0xA5 => 0x2554, 0xA6 => 0x2555, 0xA7 => 0x2556, 
        0xA8 => 0x2557, 0xA9 => 0x2558, 0xAA => 0x2559, 0xAB => 0x255A, 
        0xAC => 0x255B, 0xAD => 0x255C, 0xAE => 0x255D, 0xAF => 0x255E, 
        0xB0 => 0x255F, 0xB1 => 0x2560, 0xB2 => 0x2561, 0xB3 => 0x0401, 
        0xB4 => 0x2562, 0xB5 => 0x2563, 0xB6 => 0x2564, 0xB7 => 0x2565, 
        0xB8 => 0x2566, 0xB9 => 0x2567, 0xBA => 0x2568, 0xBB => 0x2569, 
        0xBC => 0x256A, 0xBD => 0x256B, 0xBE => 0x256C, 0xBF => 0x00A9, 
        0xC0 => 0x044E, 0xC1 => 0x0430, 0xC2 => 0x0431, 0xC3 => 0x0446, 
        0xC4 => 0x0434, 0xC5 => 0x0435, 0xC6 => 0x0444, 0xC7 => 0x0433, 
        0xC8 => 0x0445, 0xC9 => 0x0438, 0xCA => 0x0439, 0xCB => 0x043A, 
        0xCC => 0x043B, 0xCD => 0x043C, 0xCE => 0x043D, 0xCF => 0x043E, 
        0xD0 => 0x043F, 0xD1 => 0x044F, 0xD2 => 0x0440, 0xD3 => 0x0441, 
        0xD4 => 0x0442, 0xD5 => 0x0443, 0xD6 => 0x0436, 0xD7 => 0x0432, 
        0xD8 => 0x044C, 0xD9 => 0x044B, 0xDA => 0x0437, 0xDB => 0x0448, 
        0xDC => 0x044D, 0xDD => 0x0449, 0xDE => 0x0447, 0xDF => 0x044A, 
        0xE0 => 0x042E, 0xE1 => 0x0410, 0xE2 => 0x0411, 0xE3 => 0x0426, 
        0xE4 => 0x0414, 0xE5 => 0x0415, 0xE6 => 0x0424, 0xE7 => 0x0413, 
        0xE8 => 0x0425, 0xE9 => 0x0418, 0xEA => 0x0419, 0xEB => 0x041A, 
        0xEC => 0x041B, 0xED => 0x041C, 0xEE => 0x041D, 0xEF => 0x041E, 
        0xF0 => 0x041F, 0xF1 => 0x042F, 0xF2 => 0x0420, 0xF3 => 0x0421, 
        0xF4 => 0x0422, 0xF5 => 0x0423, 0xF6 => 0x0416, 0xF7 => 0x0412, 
        0xF8 => 0x042C, 0xF9 => 0x042B, 0xFA => 0x0417, 0xFB => 0x0428, 
        0xFC => 0x042D, 0xFD => 0x0429, 0xFE => 0x0427, 0xFF => 0x042A, 
      ];
      $res = '';
      $len = strlen ( $str );
      for ( $i = 0; $i < $len; $i ++ ) {
        $ccode = ord ( $str [ $i ] );
        $ucode = $ccode < 128 ? $ccode : $map[$ccode];
        $res .= chr_utf8 ( $ucode );
      }
      return $res;
    }
    

    JavaScript 版本。

    function koi8rtoutf8 ( buf ) {
      if( buf instanceof ArrayBuffer ) {
        buf = new Uint8Array ( buf );
      }
      if( ! Array.isArray ( buf ) ) {
        buf = [ ... buf ];
      }
      const map = new Map ( [
          [0x80,0x2500], [0x81,0x2502], [0x82,0x250C], [0x83,0x2510], 
          [0x84,0x2514], [0x85,0x2518], [0x86,0x251C], [0x87,0x2524], 
          [0x88,0x252C], [0x89,0x2534], [0x8A,0x253C], [0x8B,0x2580], 
          [0x8C,0x2584], [0x8D,0x2588], [0x8E,0x258C], [0x8F,0x2590], 
          [0x90,0x2591], [0x91,0x2592], [0x92,0x2593], [0x93,0x2320], 
          [0x94,0x25A0], [0x95,0x2219], [0x96,0x221A], [0x97,0x2248], 
          [0x98,0x2264], [0x99,0x2265], [0x9A,0x00A0], [0x9B,0x2321], 
          [0x9C,0x00B0], [0x9D,0x00B2], [0x9E,0x00B7], [0x9F,0x00F7], 
          [0xA0,0x2550], [0xA1,0x2551], [0xA2,0x2552], [0xA3,0x0451], 
          [0xA4,0x2553], [0xA5,0x2554], [0xA6,0x2555], [0xA7,0x2556], 
          [0xA8,0x2557], [0xA9,0x2558], [0xAA,0x2559], [0xAB,0x255A], 
          [0xAC,0x255B], [0xAD,0x255C], [0xAE,0x255D], [0xAF,0x255E], 
          [0xB0,0x255F], [0xB1,0x2560], [0xB2,0x2561], [0xB3,0x0401], 
          [0xB4,0x2562], [0xB5,0x2563], [0xB6,0x2564], [0xB7,0x2565], 
          [0xB8,0x2566], [0xB9,0x2567], [0xBA,0x2568], [0xBB,0x2569], 
          [0xBC,0x256A], [0xBD,0x256B], [0xBE,0x256C], [0xBF,0x00A9], 
          [0xC0,0x044E], [0xC1,0x0430], [0xC2,0x0431], [0xC3,0x0446], 
          [0xC4,0x0434], [0xC5,0x0435], [0xC6,0x0444], [0xC7,0x0433], 
          [0xC8,0x0445], [0xC9,0x0438], [0xCA,0x0439], [0xCB,0x043A], 
          [0xCC,0x043B], [0xCD,0x043C], [0xCE,0x043D], [0xCF,0x043E], 
          [0xD0,0x043F], [0xD1,0x044F], [0xD2,0x0440], [0xD3,0x0441], 
          [0xD4,0x0442], [0xD5,0x0443], [0xD6,0x0436], [0xD7,0x0432], 
          [0xD8,0x044C], [0xD9,0x044B], [0xDA,0x0437], [0xDB,0x0448], 
          [0xDC,0x044D], [0xDD,0x0449], [0xDE,0x0447], [0xDF,0x044A], 
          [0xE0,0x042E], [0xE1,0x0410], [0xE2,0x0411], [0xE3,0x0426], 
          [0xE4,0x0414], [0xE5,0x0415], [0xE6,0x0424], [0xE7,0x0413], 
          [0xE8,0x0425], [0xE9,0x0418], [0xEA,0x0419], [0xEB,0x041A], 
          [0xEC,0x041B], [0xED,0x041C], [0xEE,0x041D], [0xEF,0x041E], 
          [0xF0,0x041F], [0xF1,0x042F], [0xF2,0x0420], [0xF3,0x0421], 
          [0xF4,0x0422], [0xF5,0x0423], [0xF6,0x0416], [0xF7,0x0412], 
          [0xF8,0x042C], [0xF9,0x042B], [0xFA,0x0417], [0xFB,0x0428], 
          [0xFC,0x042D], [0xFD,0x0429], [0xFE,0x0427], [0xFF,0x042A], 
      ] );
      return buf.map ( c => c < 127 ? c : map.get ( c ) || 0 )
            .map ( c => String.fromCharCode ( c ) ).join ( '' );
    }
    
    • 2

相关问题

  • 第二个 Instagram 按钮的 CSS 属性

  • 由于模糊,内容不可见

  • 弹出队列。消息显示不正确

  • 是否可以在 for 循环中插入提示?

  • 如何将 JSON 请求中的信息输出到数据表 Vuetify vue.js?

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何从列表中打印最大元素(str 类型)的长度?

    • 2 个回答
  • Marko Smith

    如何在 PyQT5 中清除 QFrame 的内容

    • 1 个回答
  • Marko Smith

    如何将具有特定字符的字符串拆分为两个不同的列表?

    • 2 个回答
  • Marko Smith

    导航栏活动元素

    • 1 个回答
  • Marko Smith

    是否可以将文本放入数组中?[关闭]

    • 1 个回答
  • Marko Smith

    如何一次用多个分隔符拆分字符串?

    • 1 个回答
  • Marko Smith

    如何通过 ClassPath 创建 InputStream?

    • 2 个回答
  • Marko Smith

    在一个查询中连接多个表

    • 1 个回答
  • Marko Smith

    对列表列表中的所有值求和

    • 3 个回答
  • Marko Smith

    如何对齐 string.Format 中的列?

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5