国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Unicode與Ansi

2019-11-18 17:51:08
字體:
來源:轉載
供稿:網友
VisualBasic32-bit版本的字串處理采用Unicode,也就是說字串在VB內部是以Unicode的格式來存放。

何謂Unicode?簡單的說,就是每一個字元都是以2-byte的型式表示,而每個「實體字元」就是一個「字元」。因此,

Len("大家好")
Len("abc")

所傳回的值都是3,因為「大」和「a」都是一個字元。

但是這對一些中文字串處理,例如純文字的資料檔,卻是一個大災難,因為你必須以byte來定位每個字元,可是Unicode卻把一切的處理全搞砸了。例如:

Len("GoodMorning")傳回12,而
Len("今天天氣很好")傳回6

對初學者而言,好不容易能使用VB來寫程式已經是件了不起的事了,卻馬上在中文處理上挨了一記悶棍,所受到的打擊實在不小。但是不要怕,事實上只要再多了解一些指令,就可以把中文處理的問題解決了。

是什麼指令呢?最重要的莫過於StrConv了。StrConv函式的語法為:

StrConv(待轉換字串,轉換格式)

其中轉換格式在這里用到的是:

vbUnicode將Ansi字串轉換為Unicode
vbFromUnicode將Unicode字串轉換為Ansi

將字串轉成Ansi之後,所有的字串處理指令都要加個B,例如:LeftB,RightB,MidB,ChrB,InstrB,LenB,InputB等。例用這些指令來處理就行了。

當你處理完畢之後,你可以再將它再轉回Unicode,這樣就可以使用一般的字串處理指令了。

這樣講看得懂嗎?如果還是不了解,看看下面的實例說明:

[●]簡易使用范例

看看下面的基本范例您應該就會對VB的字串處理方式有些概念。

EndWith

Close#1
EndSub

在這個例子中,一定要用到bytearray,因為只有bytearray才能正確地定位到每個byte的位置。以前使用字串來定位的方法已經不適用了,千萬要記住!但是使用bytearray所讀入的資料是Ansi格式,若要處理或是做運算的話,記得還要轉成Unicode格式才行。

[●]使用ByteArray

除了上面必須使用byte精確定位的例子之外,純文字的處理基本上是用不到bytearray的。bytearray通常是用在處理binary資料。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 遂宁市| 兴化市| 白朗县| 阜新市| 礼泉县| 海林市| 肥城市| 资中县| 清水县| 万源市| 磐石市| 福贡县| 兴义市| 靖宇县| 沂水县| 瑞丽市| 安国市| 唐河县| 双牌县| 长武县| 南澳县| 射阳县| 手游| 灯塔市| 民勤县| 剑川县| 水城县| 诏安县| 北宁市| 阿坝| 蒲江县| 应城市| 五原县| 常宁市| 平凉市| 白山市| 乌拉特后旗| 密山市| 涿州市| 彭山县| 溧阳市|