如何将GBK编码的XML文件转成utf-8?高分在线急求!

ineedchrist 2005-11-23 01:41:42
已知现有一个GBK编码的xml文件,例子http://www.awaman.com/testXML.rar,如何转换成utf-8的?最好能给出代码,谢谢。
...全文
985 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ineedchrist 2005-11-28
  • 打赏
  • 举报
回复
谁说我不厚道!!!
^-^
private sub cmdTest_click()
dim sStr as string
Open App.Path & "\Model\head" For Input As #1
Input #1, sStr
Close #1
Call SaveToUTF8(sStr)
end sub

Private Sub SaveToUTF8(sStr as string)
On Error GoTo OutError
Dim DAT() As Byte, DAT1() As Byte, ST As String
Dim Z As String
Dim zTem As String
Dim zCod As String
Dim zHex As String
Dim zBin As String
Dim zRes As Long
Dim zAsc As Long
Dim L As Long, 字节计数
Dim i1 As Long
Dim i2 As Integer
Dim sFileName As String

For i1 = 1 To Len(sStr)
Z = Mid(sStr, i1, 1): zAsc = Asc(Z)
If zAsc > 0 Then '如果不是汉字
ReDim Preserve DAT(L + 1) As Byte
DAT(L) = zAsc: L = L + 1
Else
ReDim Preserve DAT(L + 3) As Byte
DAT1 = Z: ST = Right("0" & Hex(DAT1(1)), 2) & Right("0" & Hex(DAT1(0)), 2)
For i2 = 1 To Len(ST)
Z = Mid(ST, i2, 1)
Select Case Z '将汉字的16进制Unicode编码转换为二进制的
Case Is = "0": zBin = zBin & "0000"
Case Is = "1": zBin = zBin & "0001"
Case Is = "2": zBin = zBin & "0010"
Case Is = "3": zBin = zBin & "0011"
Case Is = "4": zBin = zBin & "0100"
Case Is = "5": zBin = zBin & "0101"
Case Is = "6": zBin = zBin & "0110"
Case Is = "7": zBin = zBin & "0111"
Case Is = "8": zBin = zBin & "1000"
Case Is = "9": zBin = zBin & "1001"
Case Is = "A": zBin = zBin & "1010"
Case Is = "B": zBin = zBin & "1011"
Case Is = "C": zBin = zBin & "1100"
Case Is = "D": zBin = zBin & "1101"
Case Is = "E": zBin = zBin & "1110"
Case Is = "F": zBin = zBin & "1111"
End Select
Next
zTem = "1110" & Left(zBin, 4) & "10" & Mid(zBin, 5, 6) & "10" & Right(zBin, 6)
For i2 = 1 To 24
Z = Mid(zTem, i2, 1)
zRes = zRes + IIf(Z = "1", 1 * 2 ^ (24 - i2), 0 * 2 ^ (24 - i2))
Next
Z = Hex(zRes) '汉字已转换为3字节的16进制数据
DAT(L) = val("&H" & Left(Z, 2))
DAT(L + 1) = val("&H" & Mid(Z, 3, 2))
DAT(L + 2) = val("&H" & Right(Z, 2))
L = L + 3
End If
zBin = "": zRes = 0
Next
ReDim DAT1(2) As Byte
DAT1(0) = &HEF: DAT1(1) = &HBB: DAT1(2) = &HBF

CdlgEOP.filename = ""
CdlgEOP.ShowOpen

sFileName = Trim(CdlgEOP.filename)
If sFileName = "" Then Exit Sub
DAT(UBound(DAT)) = 32

Open sFileName For Binary As #1
Put #1, , DAT1
Put #1, , DAT
Close #1
OutError:
Close
End Sub
endstar520 2005-11-26
  • 打赏
  • 举报
回复
你自己搞定怎么就不说下怎么搞的。
我也遇到这类问题。。。寻找解决方案

楼主不厚道。
chen2839846 2005-11-25
  • 打赏
  • 举报
回复
帮顶
ineedchrist 2005-11-25
  • 打赏
  • 举报
回复
自己搞定了!
ineedchrist 2005-11-24
  • 打赏
  • 举报
回复
怎么没有人会呢?!
weiweiplay 2005-11-23
  • 打赏
  • 举报
回复
没用过,帮顶
内容概要:该文档为一段用于Google Earth Engine(GEE)平台的JavaScript代码脚本,旨在对研究区域(AOI)内的Landsat 8卫星影像进行土地利用/土地覆盖(LULC)分类。脚本首先筛选2024年云量低于10%的Landsat 8 Level-2地表反射率影像,构建中值合成影像并应用缩放因子校正。随后,基于预先定义的水体(Water)和植被(Vegetation)样本点,合并训练样本并提取影像对应波段数据,采用随机森林分类器(smileRandomForest)对影像进行监督分类。最后,通过划分训练集与测试集,输出混淆矩阵、总体分类精度和Kappa系数,完成分类结果的精度评估。; 适合人群:具备遥感图像处理基础知识的科研人员、地理信息系统(GIS)技术人员以及环境监测相关领域的研究生或专业人员;熟悉GEE平台基本操作者更佳; 使用场景及目标:①实现特定区域多光谱遥感影像的土地覆盖分类;②掌握GEE平台上从影像预处理、样本构建、模型训练到精度验证的完整分类流程;③支持水资源管理、生态环境监测等应用领域的空间数据分析; 阅读建议:此资源以实际代码形式呈现,建议结合GEE开发环境边运行边学习,重点关注影像预处理方法、训练样本构建逻辑、分类器参数设置及精度评估指标解读,便于迁移应用于其他区域或传感器数据。

743

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧