我从不受信任的源接收ubyte []并需要将其转换为utf-8编码的字符串.如何转换它并检查我给出的字节是否是有效的utf-8数据?在phobos中似乎没有直接执行此操作的函数(即获取ubyte []或ubyte范围并将其转换为字符串或字符范围).
还有这样的事情吗?
\n\n\n\nimport std.stdio;\nimport std.utf;\n\nvoid main()\n{\n ubyte[] bytes = cast(ubyte[])"\xd1\x81\xd0\xbe\xd0\xb1\xd0\xb0\xd0\xba\xd0\xb0";\n writeln("bytes: ", bytes);\n\n string str = cast(string)bytes;\n writeln("string: ", str);\n\n validate(str);\n\n writeln("valid");\n}\nRun Code Online (Sandbox Code Playgroud)\n\n应用程序输出:
\n\nbytes: [209, 129, 208, 190, 208, 177, 208, 176, 208, 186, 208, 176]\nstring: \xd1\x81\xd0\xbe\xd0\xb1\xd0\xb0\xd0\xba\xd0\xb0\nvalid\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1113 次 |
| 最近记录: |