close

VB.Net StrConv 函式介紹

 

Public Shared Function StrConv(ByVal Str As String, _
ByVal Conversion As Microsoft.VisualBasic.VbStrConv, _
Optional ByVal LocaleID As Integer) As String

參數
Str : 必要項。所要轉換的 String 運算式。
Conversion : 必要項。Microsoft.VisualBasic.VbStrConv 成員。指定所要執行的轉換型別的列舉值。
LocaleID : 選擇項。如果不同於系統 LocaleID 值,則使用此 LocaleID 值 (系統 LocaleID 值是預設值)。


Conversion 引數設定包括:

 

列舉成員

說明

VbStrConv.None

不執行轉換

VbStrConv.LinguisticCasing

使用大小寫的語言規格,而不是檔案系統 (預設值)。
只有配合大寫及小寫時才有效。

VbStrConv.UpperCase

VbStrConv.UpperCase

VbStrConv.LowerCase

VbStrConv.LowerCase

VbStrConv.ProperCase

VbStrConv.ProperCase

VbStrConv.Wide*

VbStrConv.Wide*

VbStrConv.Narrow*

VbStrConv.Narrow*

VbStrConv.Katakana**

VbStrConv.Katakana**

VbStrConv.Hiragana**

VbStrConv.Hiragana**

VbStrConv.SimplifiedChinese*

VbStrConv.SimplifiedChinese*

VbStrConv.TraditionalChinese*

VbStrConv.TraditionalChinese*

 

實際運用:
透過 StrConv 函式來進行繁體字及簡體字的相互轉換

Dim strData As String

' 將繁體中文字轉換成簡體中文
strData = StrConv("強力鎯頭的VB部落", VbStrConv.SimplifiedChinese, 2052)
' 簡體中文 (GB2312) 系統的 LocaleID (LCID) 為 2052
MessageBox.Show (strData) ' 顯示簡體中文字

' 將簡體中文字轉換成繁體中文
strData = StrConv(strData, VbStrConv.TraditionalChinese, 1028)
' 繁體中文 (Big5) 系統的 LocaleID (LCID) 為 1028

 

-------------------ASP.Net 的 UTF-8 轉 Big5-------------

ASP.Net 的 UTF-8 轉 Big5

由於 Convert 出來的是 byte[] ,所以注意上面用的是 BinaryWrite ,不是一般常用的 Write。

若還有興趣深入研究 .Net Framewrok 的轉碼,可以參考:

http://www.thecodeproject.com/useritems/Chinese_Style_Converter.asp


上面那個網址有詳細的做法及轉碼平台的建置,還能透過 Web Service 來做轉碼,教學跟實用都兼具。

如果是其它語言平台想在短時間內做好轉碼,也可以購買Chilkatsoft 的 Charset 商業元件,支援的字集也很多,中文編碼當然也在其中了,有需要可以多多支持。


.Net 元件:
http://www.chilkatsoft.com/Charset-DotNet.asp

ActiveX 元件:
http://www.chilkatsoft.com/Charset-ActiveX.asp

C++ 函式庫:
http://www.chilkatsoft.com/Charset-Library.asp

其它產品總覽:
http://www.chilkatsoft.com/products.asp

函數 myMultiByteToWideChar 將不同編碼方式字串轉 UniCode 字串


函數 myWideCharToMultiByte 將 Unicode 字串轉換成指定編碼字串位元組陣列

 

由於 .Net Framework 以 UTF-8 為預設的編碼,有時遇到需要輸出 Big5 時,就必需多做點手腳。

以下的範例是用 ASP.Net 將 UTF-8 轉為 Big5 的字元,並且寫出到網頁上。此時就不受 Web.Config 的設定限制了。(語法為 VB.Net)

 

  1. Response.ContentEncoding = System.Text.Encoding.GetEncoding("big5")   
  2. Dim strUtf8 As Byte() = Encoding.Unicode.GetBytes(BarcodeBody)   />
  3. Dim strBig5 As Byte() = Encoding.Convert(Encoding.Unicode, Encoding.Default, strUtf8 )   />
  4. Response.BinaryWrite(strBig5)
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 11 的頭像
    11

    冠霖的部落格

    11 發表在 痞客邦 留言(0) 人氣()