解决方案 »

  1.   

    \u 语法不支持超两字节的字符,你那样写就变成了U+1F8F 和 'f' 两个字符。由于.net的char类型是16位的unicode编码,超两字节的unicode字符不是一个char可以表示的。可以使用 string s1 = "\U0001f8ff"; 或者 string s1 = char.ConvertFromUtf32(0x1f8ff); 来获得这个字符的string形式,它内部是2个char表示的一个unicode surrogate pair。
      

  2.   


    string s1 = char.ConvertFromUtf32(0x1f8ff) 返回的字符串不是第一张图的字符串,到底哪个转的string是对的
      

  3.   

    你的转换是错误的,那是U+1F8F 和 'f' 两个字符,不是需要的 U+1F8FF。
      

  4.   

    http://bbs.csdn.net/topics/390721598