Re: [VB6 ] 請教字元陣列─字串的互換
※ 引述《cassine ( EVOX )》之銘言:
: 假設我有一個陣列Buffer(8) As Byte裡面存著「文字測試」四個中文字,
: 也就是說從第一個Byte到第八個Byte分別是 A4 E5 A6 72 B4 FA B8 D5,
: 請問該如何變換成為字串 str As String * 4?
: 又如果是儲存在 str As String * 4 中該如何轉存到 Buffer(8) As Byte中?
: 精華區找過了也還不是很懂,請各位高手幫忙了。
1)
Dim Buffer() As Byte '不可以在宣告時限定上限
ReDim Buffer(7) '重新配置的上限不影響StrConv()的結果,所以此行無意義
Buffer = StrConv("文字測試", vbFromUnicode) '從 Unicode 轉成 ANSI
Debug.Print StrConv(Buffer, vbUnicode) '從 ANSI 轉成 Unicode
Open "c:\xd.txt" For Binary As #1
Put #1, 1, Buffer
Get #1, 1, Buffer
Debug.Print StrConv(Buffer, vbUnicode) '要轉回 Unicode 才會是正確的資料
Close
2)
Dim Buffer() As Byte
Buffer = "文字測試" '不轉換亦可
Open "c:\xd.txt" For Binary As #1
Put #1, 1, Buffer
Get #1, 1, Buffer
Debug.Print Buffer '存入檔案沒有轉換,取出來也不必轉換
Close '但是用記事本看到的內容是看不懂的符號
以上,有轉換成 ANSI 就要記得轉回來,
存入檔案一律記得轉成 ANSI,不然檔案長度會不可預期(?)
之前我就忘記轉換,複製檔案會莫名奇妙多出幾個byte...囧
--
VB 程式設計 倉木麻衣 PTT 星爺板 行列輸入法
======================================================
Visual_Basic MaiKuraki Stephen Array
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.58.156.43
推
222.157.164.175 08/06, , 1F
222.157.164.175 08/06, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章