CharSet Property of ByteArray class

Property | Member of  ScriptUtils.ByteArray | Changes | Purchase | Download

Description

String representation of a CodePage. This value specifies the code page of a source binary data for binary to unicode String conversion.

Syntax

vCharSet = ByteArray.CharSet
ByteArray.CharSet = vCharSet

Returns

String

Remarks

See ConvertCodePages for all available code pages / character sets.

Examples

VBScript/ASP URLEncode function with charset (urlencode to utf-8 or other character encoding)

Function URLEncode(ByVal Data, CharSet)
  'Create a ByteArray object
  Dim ByteArray: Set ByteArray = CreateObject("ScriptUtils.ByteArray")
  If Len(CharSet)>0 Then ByteArray.CharSet = CharSet
    
  ByteArray.String = Data

  If ByteArray.Length > 0 Then
    Dim I, C, Out

    For I = 1 To ByteArray.Length
      'For each byte of the encoded data
      C = ByteArray(I)
      If C = 32 Then 'convert space to +
        Out = Out + "+"
      ElseIf (C < 48 Or c>126) Or (c>56 And c<=64) Then
        Out = Out + "%" + Hex(C)
      Else
        Out = Out + Chr(c)
      End If
    Next
    URLEncode = Out
  End If
End Function

Bytearray - test of Simplified Chinese, iso-ir-58

<!DOCTYPE HTML Public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<HEAD>
  <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
  <TITLE>Bytearray - test of Simplified Chinese, iso-ir-58 </TITLE>
  <HTA:APPLICATION ID="BAChinese" APPLICATIONNAME="BAChinese" CAPTION="yes" ICON="" SHOWINTASKBAR="yes" SINGLEINSTANCE="no" SYSMENU="yes" SCROLLBAR="no">
</head>
	<body>
	<h1>Bytearray - test of Simplified Chinese, iso-ir-58</h1>
<script language="vbscript">
	
	Dim Data, Chinesetext, base64Text
	'Select any Chinese text
	'Chinesetext = "Some text with chinese characters"

	'or we can use something from Base64
	Chinesetext = GetSomeChinessetext
	'Write the text
	document.write "Chinese text:<br>"
	document.write Chinesetext 
	
	'Convert the text to iso-ir-58 binary data
	Set Data = CreateObject("ScriptUtils.ByteArray")
	Data.CharSet = "iso-ir-58"
	Data.String = Chinesetext

	'Write the data as a base-64 string
	document.write "<br><br>base 64 encoded text in iso-ir-58 charset:<br>"
	base64Text = Data.Base64.String
	document.write base64Text

	'Create a second bytearray to convert base64 data back
	Set Data2 = CreateObject("ScriptUtils.ByteArray")
	Data2.CharSet = "iso-ir-58"
	
	'Convert the base-64 data to a binary data
	Data2.Base64 = base64Text
	document.write "<br><br>Base 64 string converted back:<br>"

	'Write the data as an UNICODE string
	document.write Data2.String
	
	
	Function GetSomeChinessetext
		Dim BA
		Set BA = CreateObject("ScriptUtils.ByteArray")
		BA.Base64 = "v8a8vLK8vta199X70+u53MDttLTQwg=="
		BA.CharSet = "iso-ir-58"
		GetSomeChinessetext = BA.String 
	End Function
</script>
			
	</body>
</html>

ByteArray - Convert iso-2022-jp binary data to shift-jis codepage binary data

Convert string between windows-1250 and iso-8859-2 (or utf-8) charsets, ASP

<%
'Convert string between windows-1250 and iso-8859-2 charsets
Dim ByteArray
Set ByteArray = CreateObject("ScriptUtils.ByteArray")

'Put some east-europe characters to the bytearray.
'This characters are stored using windows-1250 charset
ByteArray.CharSet = "windows-1250"
ByteArray.String = "ìšèøžýáíé ÌŠÈØŽÝÁÍÉ"

'set output character set
Response.CharSet = "iso-8859-2"

'write some ANSI string
Response.Write "Test string: "

'Write source string converted to "iso-8859-2"
Response.BinaryWrite ByteArray.CharSetConvert(Response.CharSet)

'same for utf-8
'set output character set
'response.CharSet = "utf-8"

'write some ANSI string
'response.write "Test string: "

'Write source string converted to "iso-8859-2"
'response.binarywrite ByteArray.CharSetConvert(response.CharSet)

%>

Upload - use unicode (utf-8) character set for request/response data

See also

ByteArray.String, ByteArray.CodePage, ByteArray.CharSetConvert

Other links for CharSet

Methods of ByteArray class

Find, FindRev, CharSetConvert, Left, Mid, ReadFrom, Right, SaveAs, SetSize

Properties of ByteArray class

Base64, ByteArray, CodePage, HexString, CharSet, Length, Punycode, String

ScriptUtils.ByteArray

Works with safearray binary data - save/restore binary data from/to a disk, convert to a string/hexstring, codepage/charset conversions, Base64 conversion, etc.
     ByteArray is a COM class specially designed to work with Microsoft Windows Scripting engines - VB Script and JScript in Active Server Pages or WSH and in CHM or HTA applications. It also works with VB Net, Visual basic (VBA - VB 5, VB 6, Word, Excel, Access, …), C#, J#, C++, ASP, ASP.Net, Delphi and with T-SQL OLE functions - see Use ByteArray object article. You can also use the object in other programming environments with COM support, such is PowerBuilder.
     Source code for ByteArray is available within distribution license, please see License page for ASP file upload and ScriptUtilities.

ScriptUtils

Huge ASP upload is easy to use, hi-performance ASP file upload component with progress bar indicator. This component lets you upload multiple files with size up to 4GB to a disk or a database along with another form fields. Huge ASP file upload is a most featured upload component on a market with competitive price and a great performance . The software has also a free version of asp upload with progress, called Pure asp upload , written in plain VBS, without components (so you do not need to install anything on server). This installation package contains also ScriptUtilities library. Script Utilities lets you create hi-performance log files , works with binary data , you can download multiple files with zip/arj compression, work with INI files and much more with the ASP utility.

© 1996 - 2011 Antonin Foller, Motobit Software | About, Contacts | e-mail: info@pstruh.cz


Other Motobit links:   IISTracer, real-time IIS monitor   ASP file upload - upload files to ASP. 
ActiveX/VBSScript registry editor  ActiveX NT User account manager  Export MDB/DBF from ASP Active LogFile  Email export  ActiveX/ASP Scripting Dictionary object