#眉標=.NET #副標=.NET Namespace專欄 #大標= System.Text文字資料處理 #作者=文/彭靖灝 -----box----- Dim theEncoding As Encoding …. sw = New StreamWriter(FileName, False, theEncoding) -----end----- -----box----- #程式1 Private Sub btnSaveFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)_ Handles btnSaveFile.Click Dim sw As StreamWriter Dim theEncoding As Encoding With SaveFileDialog1 .FileName = "" .Filter = "文字檔(*.txt)|*.txt|所有檔案(*.*)|*.*" .FilterIndex = 1 If .ShowDialog = DialogResult.OK Then If rdbUnicode.Checked Then theEncoding = New UnicodeEncoding Else ' Big5 encoding theEncoding = Encoding.GetEncoding(950) End If sw = New StreamWriter(.FileName, False, _ theEncoding) sw.Write(txtContent.Text) sw.Close() End If End With End Sub -----end----- -----box----- #程式2 Private Sub btnReadFile_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles _ btnReadFile.Click Dim sr As StreamReader Dim theEncoding As Encoding Dim ContentString As String Dim ContentBytes As Byte() With OpenFileDialog1 .FileName = "" .Filter = "文字檔(*.txt)|*.txt|所有檔案(*.*)|*.*" .FilterIndex = 1 If .ShowDialog = DialogResult.OK Then If rdbBig5.Checked Then theEncoding = Encoding.GetEncoding(950) sr = New StreamReader(.FileName, theEncoding) Else sr = New StreamReader(.FileName, True) theEncoding = sr.CurrentEncoding End If ContentString = sr.ReadToEnd sr.Close() ContentBytes = theEncoding.GetBytes_ (ContentString) ShowBytes(ContentBytes) lblCount.Text = "位元組數:" &_ ContentBytes.Length.ToString lblEncoding.Text = theEncoding.EncodingName End If End With End Sub -----end----- -----box----- #程式3 Private Sub btnConvert_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles btnConvert.Click Dim UnicodeString As String = txtUnicodeString.Text ' 建立Unicode及Big5編碼 Dim Uni As Encoding = Encoding.Unicode Dim Big5 As Encoding = Encoding.GetEncoding(950) ' 字串轉成位元組陣列 Dim UnicodeBytes As Byte() = Uni.GetBytes_ (UnicodeString) ' 進行轉碼 Dim Big5Bytes As Byte() = Encoding.Convert_ (Uni, Big5, UnicodeBytes) ' 將位元組陣列轉成字元陣列 ' 再轉成字串 Dim Big5Chars(Big5.GetCharCount_ (Big5Bytes, 0, Big5Bytes.Length)) As Char Big5.GetChars_ (Big5Bytes, 0, Big5Bytes.Length, Big5Chars, 0) Dim Big5String As New String(Big5Chars) txtBig5String.Text = Big5String End Sub -----end----- -----box----- #程式4 Private Sub ShowUnicodeCode(ByVal UnicodeString As String) Dim theEncoding As Encoding = Encoding.Unicode Dim ContentBytes As Byte() Dim theByte As Byte Dim sb As New StringBuilder ContentBytes = theEncoding.GetBytes(UnicodeString) For Each theByte In ContentBytes sb.Append(ShowByte(theByte) & " ") Next txtUnicodeBytes.Text = sb.ToString End Sub -----end-----