nop*_*a73 5 .net c# encoding utf-8 .net-core
更新。我在GitHub上创建了一个测试项目,您可以在其中看到测试通过Appveyor(Windows)并通过Travis(Linux和OSX)失败。
https://github.com/nopara73/UTF8Problems/
我有一个.NET Core 2 xUnit测试项目,在这里测试string的UTF8编码"é"。在Windows上,测试通过,在Linux和OSX上,测试失败。
码。
[Fact]
public void CanEncode()
{
var character = "é";
var encoded = Encoding.UTF8.GetBytes(character);
var bytes = new byte[] { 195, 169 };
Assert.Equal(bytes, encoded);
}
[Fact]
public void CanDecode()
{
var character = "é";
var bytes = new byte[] { 195, 169 };
var decoded = Encoding.UTF8.GetString(bytes);
Assert.Equal(character, decoded);
}
[Fact]
public void CanEncodeDecode()
{
var character = "é";
var encoded = Encoding.UTF8.GetBytes(character);
var decoded = Encoding.UTF8.GetString(encoded);
Assert.Equal(character, decoded);
}
Run Code Online (Sandbox Code Playgroud)
输出失败。Travis,Linux:
问题。