不同語系的轉碼、編碼 / HttpUtility.UrlEncode,Server.UrlEncode兩者差異

最近遇上的Case,也是被多國語系的轉碼所苦。

各位可以參考一下微軟的範例,Encoding.Convert 方法

多國語系的轉碼 / UrlEncode。各位可以參考一下微軟的範例,

 

名稱說明
Encoding.Convert (Encoding_A, Encoding_B, Byte[]) 將整個位元組陣列從一種編碼方式(A)轉換成另一種編碼方式(B)。

受 .NET Compact Framework 支援。

  -------------------------------------------------------------------------------

 

 以下是微軟的範例程式,很有用。(抄起來,就能用)

Imports System

Imports System.Text
Imports Microsoft.VisualBasic

Namespace Convert_Example
    Class MyConvertExampleClass
        Shared Sub Main()
            Dim unicodeString As String = "This string contains the unicode character Pi(" & ChrW(&H03A0) & ")"

            ' Create two different encodings.  ASCII與 Unicode兩者互轉
            Dim ascii As Encoding = Encoding.ASCII
            Dim [unicode] As Encoding = Encoding.Unicode

            ' Convert the string into a byte[].
            Dim unicodeBytes As Byte() = [unicode].GetBytes(unicodeString)

            ' Perform the conversion from one encoding to the other. 這段程式很麻煩,一定要先用Byte型態之後,才能轉碼!
            Dim asciiBytes As Byte() = Encoding.Convert([unicode], ascii, unicodeBytes)


            ' Convert the new byte[] into a char[] and then into a string.
            ' This is a slightly different approach to converting to illustrate
            ' the use of GetCharCount/GetChars.
            Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)) As Char
            ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)
            Dim asciiString As New String(asciiChars)

            ' Display the strings created before and after the conversion.
            Console.WriteLine("Original string: {0}", unicodeString)
            Console.WriteLine("Ascii converted string: {0}", asciiString)
        End Sub
    End Class
End Namespace
 

 

  -------------------------------------------------------------------------------

 

關於HttpUtility.UrlEncode,Server.UrlEncode兩者的差異(本文為簡體中文)

詳見全文:http://bbs.wangqi.com/showtopic-7609.html

1. HttpUtility.UrlEncode 方法:
    对 URL 字符串进行编码,以便实现从 Web 服务器到客户端的可靠的 HTTP 传输。

2. Server是HttpServerUtility类的实例,是System.Web.UI.Page的属性。
HttpServerUtility.UrlEncode 方法:
    编码字符串,以便通过 URL 从 Web 服务器到客户端进行可靠的 HTTP 传输。

需要注意的几点(兩者差異如下)
1、HttpUtility.UrlEncode,HttpUtility.UrlDecode是静态方法,而Server.UrlEncode,Server.UrlDecode是实例方法。
2、Server是HttpServerUtility类的实例,是System.Web.UI.Page的属性。
3、用HttpUtility.UrlEncode编码后的字符串和用Server.UrlEncode进行编码后的字符串对象不一样

結  論:

 -------------------------------------------------------------------------------

 

另外有一篇好文章,是給VB.NET使用的 URLEncode。

標題「如何用 VB 或 VB.Net 來撰寫 ASP 的 Server.URLencode 函數  (作者:強力榔頭)」

另外一篇相關文章,是「黑暗執行緒」寫的----【茶包射手專欄】QueryString的中文編碼問題

網路上找到的相關文章,轉貼_JavaScript的UrlEncode,UrlDecode

 -------------------------------------------------------------------------------

 

廣告一下:

我的新書上市了,懇請支持。

ASP.NET 專題實務  PCHome 24小時購物也能買到,很便宜喔!

 

 

今日值班正妹,(這位Model好像叫做陳亮羽,是嗎?)

資料來源:http://auto.msn.com.tw/news_content.aspx?sn=0806100005   /   news.U-car.com


 我個人還滿喜歡這台小車,三菱Colt Plus。

U-Car.com是台灣很棒的汽車專業媒體,我幾乎每天必看。轉貼兩篇給大家看看這台Colt Plus

 1600 C.C.以下的小車最近很紅,Mazda 2 / Toyota Yaris / Suzuki SWIFT,未來還有Honda FIT等等。

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程教學,遠距教學 (Web Form 約51hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程教學,遠距教學 (ASP.NET MVC 約75~88hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

ASP.NET MVC線上課程 第一天 免費看 (5.5小時) 

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net


ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

................   facebook社團   https://www.facebook.com/mis2000lab   ......................

................  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

 

Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

請看我們的「售後服務」範圍(嚴格認定)

...................................................................................................................................................... 

[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

 

ASP.NET MVC 5 線上教學

         累積時數約 75~ 88小時...... 第一天(5.5小時)完整內容,"免費"讓您評估