还是乱码,怎么解决

2022-07-06 20:39:07 +08:00
 oyp

一串 unicode 字符,

*51*49*50*51*55*47*121*111*117*115*104*101*110*103*47*-28646*20439*25991*23398*47*27665*22269*22855*20154*47*31532*48*48*49*-26938*95*19977*-28589*22350*-27321*26377*-28502*20107*46*109*112*51*38*51*48*55*38*116*99

* 分割

然后挨个转为字符,再连接起来

目标效果是:31237/yousheng/通俗文学 /民国奇人 /第 001 集_三道坎镇有邪事.mp3&307&tc

用 PHP:

$list = explode('*', $a);
unset($list[0]);
$str = '';
foreach ($list as $value) {
    $str .= chr(intval($value));
}
echo iconv('gb2312', 'utf-8', $str);

结果 31237/yousheng/ f/ G/,001_ SNG .mp3&307&tc

中间一段是乱码

谁能帮我一下吗

762 次点击
所在节点    程序员
2 条回复
zzl22100048
2022-07-07 09:38:20 +08:00
```python

text = '*51*49*50*51*55*47*121*111*117*115*104*101*110*103*47*-28646*20439*25991*23398*47*27665*22269*22855*20154*47*31532*48*48*49*-26938*95*19977*-28589*22350*-27321*26377*-28502*20107*46*109*112*51*38*51*48*55*38*116*99'
print(''.join([chr(int(c) if int(c) > 0 else int(c) + 65536) for c in text.split('*') if c]))

```
hrui2418
2022-07-08 16:13:14 +08:00
我们这有个技术交流群,有兴趣可以进群交流一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/864518

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX