程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 用Asp生成UTF-8格式的文件

用Asp生成UTF-8格式的文件

編輯:關於ASP編程

    ASP由於是一種古老的語言,它的一些功能對UTF-8支持非常差。
    比如,你想生成一個UTF-8格式的文件,使用常用的 scrīpting.FileSystemObject 對象就不行。
    scripting.FileSystemObject 對象創建文件的函數,是下面方式:
    FileSystemObject.CreateTextFile(filename[,overwrite[,unicode]])
    其中的 unicode 屬性是這樣描述的:
    可選項。Boolean 值指明是否以 Unicode 或 ASCII 文件格式創建文件。如果以 Unicode 文件格式創建文件,則該值為 True;如果以 ASCII 文件格式創建文件,則該值為 False。如果省略此部分,則假定創建 ASCII 文件。
    我們是無法用這個函數來創建UTF-8格式文件的。
    這時候,我們可以使用 ADODB.Stream 對象,使用方法見下面:
     

    Set objStream = Server.CreateObject("ADODB.Stream")
    With objStream
    .Open
    .Charset = "utf-8"
    .Position = objStream.Size
    .WriteText=str
    .SaveToFile server.mappath("/sitemap.xml"),2
    .Close
    End With
    Set objStream = Nothing


    附:
    ASCII 、Unicode 、 UTF-8 介紹:
    ASCII 是一種字符集,包括大小寫的英文字母、數字、控制字符等,它用一個字節表示,范圍是 0-127。

    由於 ASCII 表示的字符非常有限,各個國家或者地區在此基礎上提出了自己的字符集,比如在中國應用非常廣泛的 GB2312,它為漢字提供了編碼,用兩個字節表示。

    這些字符集之間互不兼容,相同的數字可能表示不同的字符,為信息交流帶來了麻煩。
    Unicode 是一種字符集,它將世界上的所有字符映射成一個唯一的數字(code point),比如字母 a 對應的數字 0x0041。目前 Unicode 還處於發展中,它所包容的字符越來越多。

    在將 Unicode 表示的字符進行存儲時,還需要一定的編碼方式,比如 UCS-2,它用兩個字節來表示 Unicode 編碼的字符。而 UTF-8 是 Unicode 字符集的另外一種編碼方式,它是變長度的,最多 6 個字節,小於 127 的字符用一個字節表示,與 ASCII 字符集的結果一樣,因而具有非常好的兼容性,ASCII 編碼下的英語文本不需要修改就可以當作 UTF-8 編碼進行處理,應用非常廣泛。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved