2009년 4월 11일에 이미 코드 구현을 완료했지만 이 기사를 작성할 시간이 없었기 때문에 오늘 시간을 내어 이 기사와 ASP 애호가들을 위해 맛있는 수프를 건네주세요. ASP 인코딩 변환의 격차. 기사 배경:
어느 날 내 동료가 CSDN에서 프로그래밍 언어 순위에 관한 기사를 보여줬습니다. 거기서 VB 순위가 매우 높다는 것을 보고 asp(vbscript)가 정말 좋다고 말했습니다. 결과적으로 그는 ASP가 좋지 않고 달성하기 어려운 것이 많다고 반박했습니다. 내가 뭐라고 말했나요? 나는 몇 년 동안 ASP를 개발해 왔지만 멀티 스레드 응용 프로그램(물론 ASP는 멀티 스레드 작업도 시뮬레이션할 수 있음) 등과 같은 비스크립팅 언어의 범위 내에 있지 않는 한 구현하기 어려운 점을 찾지 못했습니다. 그 결과 멀티스레딩, 코드 변환 등에 대해 이야기를 나눴다. 코드 변환에 많은 노력을 기울였지만 성공하지 못해서 ASP가 너무 약하다는 느낌을 받았다고 한다. 이 말을 듣고 우리는 그의 프로그래밍 기초가 충분히 탄탄하지 않고 ASP에 대한 지식이 매우 제한적이라는 것을 알았습니다. (그리고 나중에 그는 일반적으로 사용되는 ASP의 몇 가지 기본 개체를 모르거나 사용하지 않는다고 말했습니다. 나는 거의 기절할 뻔했습니다. 과거에는 - 이건 써본 적도 없고 ASP가 약하다고 하더라고요. , 그렇네요... 나이가 너무 많아서 근거도 없고 말할 권리도 없다는게 이해가 안가네요 ㅎㅎ...) 그래서 화를 내면서 ASP 인코딩의 문제를 깨달았습니다! 그 주말 상호 전환. 그는 실제로 ASP를 너무 무시합니다. 그는 그것에 대해 매우 화를 냈습니다. 물론 지금까지의 ASP 개발에서 인코딩 변환에 관한 연구의 공백도 제 연구로 메워졌습니다!
이제 본격적으로 시작해 보겠습니다. 먼저 인코딩 변환 과정을 이해해 보겠습니다. 텍스트 조각의 인코딩을 변환하려면 현재 텍스트에 해당하는 인코딩 집합을 알아야 하며 해당 인코딩을 사용해야 합니다. 읽어들이도록 설정하세요. 전제는 인코딩이 올바르게 변환된다는 것입니다(이 단계가 잘못되면 변환된 코드가 일련의 잘못된 코드가 됩니다)! 좋습니다. 현재 인코딩을 찾아 올바르게 읽은 후 대상 인코딩이 설정된 Stream 개체를 사용하여 콘텐츠를 지정된 파일에 저장할 수 있습니다. 이제 인코딩 변환이 성공했습니다.
ASP 인코딩 변환의 특정 코드 구현을 살펴보겠습니다.
다음과 같이 코드 코드를 복사합니다.
'Convert 인코딩 내용 변환할 내용, cset 대상 인코딩, 대상 파일 절대 경로
함수 TransferCharSet(content, cset, dest)
희미한 객체스트림
Objstream = Server.CreateObject(adodb.stream) 설정
objstream.Mode =3
objstream.Charset = cset
objstream.Type = 2
objstream.Open
objstream.WriteText 콘텐츠
objstream.위치 = 0
objstream.SaveToFile 대상,2
objstream.Close
objstream = 아무것도 설정하지 않음
기능 종료
'해당 인코딩을 사용하여 지정된 내용을 읽습니다.
함수 getcontent(경로)
희미한 객체스트림
Objstream = Server.CreateObject(Adodb.Stream) 설정
objstream.Charset = GetCharSetName(경로)
objstream.Type = 2
objstream.Mode =3
'objstream.Charset = 코드
objstream.Open
Objstream.LoadFromFile 경로
objstream.위치 = 0
getcontent = objstream.ReadText
objstream.Close
objstream = 아무것도 설정하지 않음
기능 종료
'지정된 콘텐츠의 인코딩 이름을 가져옵니다.
함수 GetCharSetName(경로)
objstream=server.createobject(Adodb.Stream) 설정
objstream.Type=1
objstream.mode=3
objstream.open
objstream.Position=0
objstream.loadfromfile 경로
bintou=objstream.read(2)
AscB(MidB(bintou,1,1))=&HEF 및 AscB(MidB(bintou,2,1))=&HBB 그러면
GetCharSetName=utf-8
ElseIf AscB(MidB(bintou,1,1))=&HFF And AscB(MidB(bintou,2,1))=&HFE Then
GetCharSetName=유니코드
또 다른
GetCharSetName=gb2312
종료 조건
objstream.close
objstream=nothing으로 설정
기능 종료
좋아요, 이 코드가 끝나면 변환 작업이 완료됩니다! 이 기사가 ASP 애호가 및 기타 언어 애호가에게 도움과 영감을 줄 수 있기를 바랍니다.
마지막으로 제가 말씀드리고 싶은 것은 프로그래밍 언어를 배우고 사용하는 것은 어렵지 않다는 것입니다. 중요한 것은 언어가 어렵다고 남을 비난하기보다는 두뇌를 더 많이 사용하고 필요한 기능을 구현하는 방법에 대해 생각하는 것입니다. 너무 약해요.
음, 모두 즐거운 프로그래밍이 되기를 바랍니다. 앞으로는 더 흥미로운 개인 원본 기사를 게시하겠습니다.