System.Text.UnicodeEncoding是从Encoding类继承的子类,Default是Encoding类的静态属性,不是UnicodeEncoding特有的,它用来获取系统的当前 ANSI 代码页的编码,你可能误认为UnicodeEncoding.Default是Unicode编码了。在这里,如果字符串的值不能用指定的代码页表示出来的话,就会丢失。
你将System.Text.UnicodeEncoding.Default换成System.Text.Encoding.Unicode试试。