WEB开发网
开发学院WEB开发ASP Unix与Windows文本文件格式转换 阅读

Unix与Windows文本文件格式转换

 2012-05-19 13:09:37 来源:WEB开发网   
核心提示:Unix与Windows文本文件格式的主要差别在于换行符,Unix文本文件的换行符为0x0A,Unix与Windows文本文件格式转换,而Windows文本文件的换行符为0x0D 0x0A,知道这一点,基本思路是:将文本文件读入到一个字符串中,然后用字符串替换函数Replace进行换行符的替换,便很容易实现两者文本文件

Unix与Windows文本文件格式的主要差别在于换行符,Unix文本文件的换行符为0x0A,而Windows文本文件的换行符为0x0D 0x0A。知道这一点,便很容易实现两者文本文件格式的转换。
0x0A对应VBScript中的常量vbLf,0x0D 0x0A对应VBScript中的常量vbCrLf。

基本思路是:
将文本文件读入到一个字符串中,然后用字符串替换函数Replace进行换行符的替换,然后将替换后的字符串写入另一文本文件。

Dos文件到Unix文件的替换函数如下:
Replace(strInfo, vbCrLf, vbLf)
Unix文件到Dos文件的替换函数如下:
Replace(strInfo, vbLf, vbCrLf)

Unix与Windows文本文件格式转换

'------------------------------------------------------------
' ConvFile.vbs
' 实现Dos和Unix文本文件的相互转换
' benbenknight
Function ConvUnixToDos(strInfo)
' 将字符串从Unix换行格式转为Dos换行格式
' 即将vbCr替换为vbCrLf
    ' 先将vbCrLf换成vbCr
    ConvUnixToDos = Replace(strInfo, vbCrLf, vbLf)
    ' 先将vbCr换成vbCrLf
    ConvUnixToDos = Replace(ConvUnixToDos, vbLf, vbCrLf)
   
End Function
Function ConvDosToUnix(strInfo)
' 将字符串从Dos换行格式转为Unix换行格式
' 即将vbCrLf替换为vbCr
    ConvDosToUnix = Replace(strInfo, vbCrLf, vbLf)
   
End Function
Function ReadFileToString(strFilePath)
' 将文本文件读入到字符串中
' strFilePath 文本文件全路径
    ' 文件读写标志
    Const ForReading = 1
   
    ' 打开文件
    Set ofs = CreateObject("Scripting.FileSystemObject")
    Set ofile = ofs.OpenTextFile(strFilePath, ForReading, True)
   
    ' 读出文件
    ReadFileToString = ofile.ReadAll
    ' 关闭文件
    ofile.Close
   
End Function
Sub WriteStringToFile(strFilePath, strInfo)
' 将字符串写入文本文件
' strFilePath 文本文件全路径
' strInfo 字符串
    ' 文件读写标志
    Const ForWriting = 2
    Const isCreateNew = True
    Set ofs = CreateObject("Scripting.FileSystemObject")
   
    ' 打开文件
    Set ofile = ofs.OpenTextFile(strFilePath, ForWriting, isCreateNew)
   
    ' 写入文件
    ofile.Write strInfo
   
    '关闭文件
    ofile.Close
   
End Sub
  
    strSrcFile = "d:\merge_dos.txt"
    strDestFile = "d:\merge_unix.txt"
    strDestFile2 = "d:\merge_dos2.txt"
   
    ' 将Dos文件转为Unix文件
    strDos = ReadFileToString(strSrcFile)
    strUnix = ConvDosToUnix(strDos)
    WriteStringToFile strDestFile, strUnix
   
    ' 将Unix文件转为Dos文件
    strUnix = ReadFileToString(strDestFile)
    strDos = ConvUnixToDos(strUnix)
    WriteStringToFile strDestFile2, strDos

Tags:Unix Windows 文本

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接