如何使用C#编码和解码“中文”人物

发布于 2024-08-03 14:47:11 字数 207 浏览 4 评论 0原文

在我的 ASP.NET MVC 应用程序中,我使用中文类别名称,在 IE 的 URL 地址中显示为 %E8%82%B2%E5%84%BF,但实际值是“育儿” 。

我想知道如何在 C# 中将 '育儿' 转换为 %E8%82%B2%E5%84%BF 以及如何将其转换回来。是否可以直接在URL链接中显示“育儿”?这对 SEO 有好处吗?

In my ASP.NET MVC application i am using Chinese Category Name, it was displayed as %E8%82%B2%E5%84%BF in IE's URL address, but the actual value is '育儿'.

I want to know how can I convert '育儿' into %E8%82%B2%E5%84%BF in C# and how can I convert it back, too. Is it possible display '育儿' in the URL link directly? Will it be good for SEO?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

谁与争疯 2024-08-10 14:47:11

IE 地址栏中显示的文本是这些字符的十六进制版本的 URL 编码形式。以 UTF-8 编码的“育儿”的十六进制版本是 E882B2E584BF:

byte[] buffer = new byte[] { 0xE8, 0x82, 0xB2, 0xE5, 0x84, 0xBF };
string s = Encoding.UTF8.GetString(buffer);

s 等于“育儿”。

您不应该在 URL 中传输直的中文字符,它应该使用 进行 URL 编码HttpServerUtility.UrlEncodeUrlDecode

The text displayed in IE's address bar is the URL encoded form of the hex version of those characters. The hex version of '育儿' encoded in UTF-8 is E882B2E584BF:

byte[] buffer = new byte[] { 0xE8, 0x82, 0xB2, 0xE5, 0x84, 0xBF };
string s = Encoding.UTF8.GetString(buffer);

s is equal to '育儿'.

You shouldn't transmit the straight chinese characters in the URL, it should be URL encoded using HttpServerUtility.UrlEncode and UrlDecode.

新一帅帅 2024-08-10 14:47:11

HttpUtility.UrlEncode 将对 URL 进行编码,并且 HttpUtility.UrlDecode 会将其更改回来。

例子:

string orig = "http://example.com/育儿";
string encoded = HttpUtility.UrlEncode(orig);
// encoded should equal "http://example.com/%E8%82%B2%E5%84%BF"

HttpUtility.UrlEncode will encode a URL, and HttpUtility.UrlDecode will change it back.

Example:

string orig = "http://example.com/育儿";
string encoded = HttpUtility.UrlEncode(orig);
// encoded should equal "http://example.com/%E8%82%B2%E5%84%BF"
一个人的旅程 2024-08-10 14:47:11

您是否检查过以确保您使用的是 Unicode 编码(而不是默认编码)?默认编码不会处理中文字符。

Did you check to make sure that you are using the Unicode encoding (instead of the Default)? Default encoding will not handle Chinese characters.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文