2011-05-17 132 views
4

这可能吗?我想检查一个字符串是否是utf-8编码的。检查字符串是否为UTF-8

更新:所以,问题是:我有一个PHP的Web服务。这个webservice有一个接收字符串的方法。我试图将一个VB.NET JSON字符串传递给这个Web服务。 json_decode总是返回一个错误,说该字符串不是utf-8。如果我传递字符串并使用PHP utf8_encode进行转换,则口音会出错!我怎么能解决这个问题?

+0

你的字符串是怎么样的? '字节[]'? – abatishchev 2011-05-17 19:27:55

+0

我做了这个,但我不知道它是否正常:http://stackoverflow.com/questions/6035380/vb-net-encode-string-to-utf-8。谢谢。 – thom 2011-05-17 19:29:28

+2

'System.String'永远不会是UTF-8。它是UTF-16。只有字符串的字节表示可以是UTF-8。 – CodesInChaos 2011-05-17 19:50:27

回答

2

在C#中已有一个关于此的问题#in this thread。希望能帮助到你。

0

我认为没有任何第三方工具的唯一方法就是迭代字节数组,并测试它是否与已知编码匹配。

发表评论@http://www.mobzystems.com/code/detecting-text-encoding.aspx

+0

本文仅适用于输入字节[]具有前导码设置的情况。当流的创建者“告诉”你编码是什么的时候,非常多。不回答OP问题。 – 2017-05-08 18:30:34