请问 C#有无办法判断一个字符串(System.String)中是否存在乱码?

2014-10-21 23:29:59 +08:00
 hjc4869

最近做一个Windows/Windows Phone播放器的项目,涉及到读取mp3元数据/媒体信息的问题,由于国内流通着大量(盗版的)不符合标准的mp3(使用gb2312编码的tag),使用ffmpeg或者Taglib读取后这些文件都是乱码,使用WP自带的MediaElement等读取也是乱码,然而在Windows 8的项目上,如果将系统调成中文,这些非标准的mp3却能被正确识别。

因此现在WP上的项目就存在一个判断字符串里是否存在乱码的问题,如果有乱码就切到gb2312或者其他Encoding进行解码。不过Google了一下似乎也没有什么有效的方法能够判断?

请问大家有无这方面的经验?

8557 次点击
所在节点    问与答
5 条回复
quericy
2014-10-21 23:52:54 +08:00
看得不是非常明白~~之所以会乱码是读取编码格式不对的原因吗?
判断存在乱码其实只要判断编码方式就好了吧~

谷歌了一下:http://blog.csdn.net/yenange/article/details/7209973

PS:头像好熟悉,貌似在哪见过你?_(:з」∠)__
dong3580
2014-10-22 00:01:07 +08:00
看得不是很明白,贴一段乱码和正常的看看
whywhywhy
2014-10-22 15:23:18 +08:00
@quericy 我也觉得好熟悉,似乎是从火星来地球的路上看到过……

难道你也是火星来的吗……
hjc4869
2014-10-22 22:17:49 +08:00
@quericy 是的,本质上就是判断编码,mp3的tag默认的全是当UTF-8读取,所以如果编码是GB的话就会出现乱码。
quericy
2014-10-22 23:01:26 +08:00
@whywhywhy 哎呦诶,这都被你发现了~在火星打游戏ping太高了我就跑地球来了_(:з」∠)__

@hjc4869 那这样应该就没错了.b( ̄▽ ̄)d
原来是風の音啊~~幸会幸会~~

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

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

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

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

© 2021 V2EX