hjc4869
V2EX  ›  问与答

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

  •  
  •   hjc4869 · Oct 21, 2014 · 8956 views
    This topic created in 4239 days ago, the information mentioned may be changed or developed.

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

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

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

    5 replies    2014-10-22 23:01:26 +08:00
    quericy
        1
    quericy  
       Oct 21, 2014   ❤️ 1
    看得不是非常明白~~之所以会乱码是读取编码格式不对的原因吗?
    判断存在乱码其实只要判断编码方式就好了吧~

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

    PS:头像好熟悉,貌似在哪见过你?_(:з」∠)__
    dong3580
        2
    dong3580  
       Oct 22, 2014 via Android
    看得不是很明白,贴一段乱码和正常的看看
    whywhywhy
        3
    whywhywhy  
       Oct 22, 2014
    @quericy 我也觉得好熟悉,似乎是从火星来地球的路上看到过……

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

    @hjc4869 那这样应该就没错了.b( ̄▽ ̄)d
    原来是風の音啊~~幸会幸会~~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1441 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:50 · PVG 00:50 · LAX 09:50 · JFK 12:50
    ♥ Do have faith in what you're doing.