Статьи по программированию
примеры программного кода
Delphi, Kylix, C, C++, SQL, Visual Basic, Bash, Assembler, 1С
Qt, KOL, MFC, Rx Library, Windows, Linux, Mac OS
Ansi to Unicode
Опубликовано codeLocker в 15.08.2008 в 11:16.
//Ansi to Unicode
function AnsiToUnicodeHex(S: String): String;
//Ansi to Unicode
function Win2UTF16(S: String): String;
var b: string;
i, Len: integer;
c: byte;
a: Char;
begin
//Ansi to Unicode
Result := '';
Len := Length(S);
try
for i := 1 to Len do begin
a := S[i];
c := Ord(a);
case c of
{a english} 97: b:=#97#0; 98: b:=#98#0; 99: b:=#99#0; 100: b:=#100#0; 101: b:=#101#0; 102: b:=#102#0; 103: b:=#103#0; 104: b:=#104#0; 105: b:=#105#0; 106: b:=#106#0; 107: b:=#107#0; 108: b:=#108#0; 109: b:=#109#0; 110: b:=#110#0; 111: b:=#111#0; 112: b:=#112#0; 113: b:=#113#0; 114: b:=#114#0; 115: b:=#115#0; 116: b:=#116#0; 117: b:=#117#0; 118: b:=#118#0; 119: b:=#119#0; 120: b:=#120#0; 121: b:=#121#0; 122: b:=#122#0;
{A english} 65: b:=#65#0; 66: b:=#66#0; 67: b:=#67#0; 68: b:=#68#0; 69: b:=#69#0; 70: b:=#70#0; 71: b:=#71#0; 72: b:=#72#0; 73: b:=#73#0; 74: b:=#74#0; 75: b:=#75#0; 76: b:=#76#0; 77: b:=#77#0; 78: b:=#78#0; 79: b:=#79#0; 80: b:=#80#0; 81: b:=#81#0; 82: b:=#82#0; 83: b:=#83#0; 84: b:=#84#0; 85: b:=#85#0; 86: b:=#86#0; 87: b:=#87#0; 88: b:=#88#0; 89: b:=#89#0; 90: b:=#90#0;
{0..9} 48: b:=#48#0; 49: b:=#49#0; 50: b:=#50#0; 51: b:=#51#0; 52: b:=#52#0; 53: b:=#53#0; 54: b:=#54#0; 55: b:=#55#0; 56: b:=#56#0; 57: b:=#57#0;
{Спец символы} 33: b:=#33#0; 13: b:=#13#0; 9: b:=#9#0; 10: b:=#10#0; 32: b:=#32#0; 64: b:=#64#0; 35: b:=#35#0; 36: b:=#36#0; 37: b:=#37#0; 94: b:=#94#0; 38: b:=#38#0; 42: b:=#42#0; 40: b:=#40#0; 41: b:=#41#0; 45: b:=#45#0; 95: b:=#95#0; 43: b:=#43#0; 61: b:=#61#0; 92: b:=#92#0; 47: b:=#47#0; 124: b:=#124#0; 46: b:=#46#0; 44: b:=#44#0; 59: b:=#59#0; 58: b:=#58#0; 123: b:=#123#0; 125: b:=#125#0; 63: b:=#63#0; 60: b:=#60#0; 62: b:=#62#0; 34: b:=#34#0; 91: b:=#91#0; 93: b:=#93#0; 96: b:=#96#0; 126: b:=#126#0; 185: b:=#22#33;
{а русские} 224: b:=#48#4; 225: b:=#49#4; 226: b:=#50#4; 227: b:=#51#4; 228: b:=#52#4; 229: b:=#53#4; 230: b:=#54#4; 231: b:=#55#4; 232: b:=#56#4; 233: b:=#57#4; 234: b:=#58#4; 235: b:=#59#4; 236: b:=#60#4; 237: b:=#61#4; 238: b:=#62#4; 239: b:=#63#4; 240: b:=#64#4; 241: b:=#65#4; 242: b:=#66#4; 243: b:=#67#4; 244: b:=#68#4; 245: b:=#69#4; 246: b:=#70#4; 247: b:=#71#4; 248: b:=#72#4; 249: b:=#73#4; 250: b:=#74#4; 251: b:=#75#4; 252: b:=#76#4; 253: b:=#77#4; 254: b:=#78#4; 255: b:=#79#4; 184: b:=#81#4;
{А русские} 192: b:=#16#4; 193: b:=#17#4; 194: b:=#18#4; 195: b:=#19#4; 196: b:=#20#4; 197: b:=#21#4; 198: b:=#22#4; 199: b:=#23#4; 200: b:=#24#4; 201: b:=#25#4; 202: b:=#26#4; 203: b:=#27#4; 204: b:=#28#4; 205: b:=#29#4; 206: b:=#30#4; 207: b:=#31#4; 208: b:=#32#4; 209: b:=#33#4; 210: b:=#34#4; 211: b:=#35#4; 212: b:=#36#4; 213: b:=#37#4; 214: b:=#38#4; 215: b:=#39#4; 216: b:=#40#4; 217: b:=#41#4; 218: b:=#42#4; 219: b:=#43#4; 220: b:=#44#4; 221: b:=#45#4; 222: b:=#46#4; 223: b:=#47#4; 168: b:=#1#4
end;
Result := Result + b;
end;
//Ansi to Unicode
Len := Length(Result);
i := 1;
while i <= Len do begin
a := Result[i + 1];
Result[i + 1] := Result[i];
Result[i] := a;
Inc(i, 2);
end;
except end;
end;
//Ansi to Unicode
function StrToHex(Par: String): String;
var i: Integer;
S: String;
begin
Result := '';
for i := 1 to Length(Par) do begin
S := IntToHex(ord(Par[i]), 1);
if Length(S) = 1 then Result := Result + '0' + S else Result := Result + S;
end;
end;
begin
//Ansi to Unicode
Result := StrToHex(Win2UTF16(S));
end;
//Ansi to Unicode
function AnsiToUnicodeHex(S: String): String;
//Ansi to Unicode
function Win2UTF16(S: String): String;
var b: string;
i, Len: integer;
c: byte;
a: Char;
begin
//Ansi to Unicode
Result := '';
Len := Length(S);
try
for i := 1 to Len do begin
a := S[i];
c := Ord(a);
case c of
{a english} 97: b:=#97#0; 98: b:=#98#0; 99: b:=#99#0; 100: b:=#100#0; 101: b:=#101#0; 102: b:=#102#0; 103: b:=#103#0; 104: b:=#104#0; 105: b:=#105#0; 106: b:=#106#0; 107: b:=#107#0; 108: b:=#108#0; 109: b:=#109#0; 110: b:=#110#0; 111: b:=#111#0; 112: b:=#112#0; 113: b:=#113#0; 114: b:=#114#0; 115: b:=#115#0; 116: b:=#116#0; 117: b:=#117#0; 118: b:=#118#0; 119: b:=#119#0; 120: b:=#120#0; 121: b:=#121#0; 122: b:=#122#0;
{A english} 65: b:=#65#0; 66: b:=#66#0; 67: b:=#67#0; 68: b:=#68#0; 69: b:=#69#0; 70: b:=#70#0; 71: b:=#71#0; 72: b:=#72#0; 73: b:=#73#0; 74: b:=#74#0; 75: b:=#75#0; 76: b:=#76#0; 77: b:=#77#0; 78: b:=#78#0; 79: b:=#79#0; 80: b:=#80#0; 81: b:=#81#0; 82: b:=#82#0; 83: b:=#83#0; 84: b:=#84#0; 85: b:=#85#0; 86: b:=#86#0; 87: b:=#87#0; 88: b:=#88#0; 89: b:=#89#0; 90: b:=#90#0;
{0..9} 48: b:=#48#0; 49: b:=#49#0; 50: b:=#50#0; 51: b:=#51#0; 52: b:=#52#0; 53: b:=#53#0; 54: b:=#54#0; 55: b:=#55#0; 56: b:=#56#0; 57: b:=#57#0;
{Спец символы} 33: b:=#33#0; 13: b:=#13#0; 9: b:=#9#0; 10: b:=#10#0; 32: b:=#32#0; 64: b:=#64#0; 35: b:=#35#0; 36: b:=#36#0; 37: b:=#37#0; 94: b:=#94#0; 38: b:=#38#0; 42: b:=#42#0; 40: b:=#40#0; 41: b:=#41#0; 45: b:=#45#0; 95: b:=#95#0; 43: b:=#43#0; 61: b:=#61#0; 92: b:=#92#0; 47: b:=#47#0; 124: b:=#124#0; 46: b:=#46#0; 44: b:=#44#0; 59: b:=#59#0; 58: b:=#58#0; 123: b:=#123#0; 125: b:=#125#0; 63: b:=#63#0; 60: b:=#60#0; 62: b:=#62#0; 34: b:=#34#0; 91: b:=#91#0; 93: b:=#93#0; 96: b:=#96#0; 126: b:=#126#0; 185: b:=#22#33;
{а русские} 224: b:=#48#4; 225: b:=#49#4; 226: b:=#50#4; 227: b:=#51#4; 228: b:=#52#4; 229: b:=#53#4; 230: b:=#54#4; 231: b:=#55#4; 232: b:=#56#4; 233: b:=#57#4; 234: b:=#58#4; 235: b:=#59#4; 236: b:=#60#4; 237: b:=#61#4; 238: b:=#62#4; 239: b:=#63#4; 240: b:=#64#4; 241: b:=#65#4; 242: b:=#66#4; 243: b:=#67#4; 244: b:=#68#4; 245: b:=#69#4; 246: b:=#70#4; 247: b:=#71#4; 248: b:=#72#4; 249: b:=#73#4; 250: b:=#74#4; 251: b:=#75#4; 252: b:=#76#4; 253: b:=#77#4; 254: b:=#78#4; 255: b:=#79#4; 184: b:=#81#4;
{А русские} 192: b:=#16#4; 193: b:=#17#4; 194: b:=#18#4; 195: b:=#19#4; 196: b:=#20#4; 197: b:=#21#4; 198: b:=#22#4; 199: b:=#23#4; 200: b:=#24#4; 201: b:=#25#4; 202: b:=#26#4; 203: b:=#27#4; 204: b:=#28#4; 205: b:=#29#4; 206: b:=#30#4; 207: b:=#31#4; 208: b:=#32#4; 209: b:=#33#4; 210: b:=#34#4; 211: b:=#35#4; 212: b:=#36#4; 213: b:=#37#4; 214: b:=#38#4; 215: b:=#39#4; 216: b:=#40#4; 217: b:=#41#4; 218: b:=#42#4; 219: b:=#43#4; 220: b:=#44#4; 221: b:=#45#4; 222: b:=#46#4; 223: b:=#47#4; 168: b:=#1#4
end;
Result := Result + b;
end;
//Ansi to Unicode
Len := Length(Result);
i := 1;
while i <= Len do begin
a := Result[i + 1];
Result[i + 1] := Result[i];
Result[i] := a;
Inc(i, 2);
end;
except end;
end;
//Ansi to Unicode
function StrToHex(Par: String): String;
var i: Integer;
S: String;
begin
Result := '';
for i := 1 to Length(Par) do begin
S := IntToHex(ord(Par[i]), 1);
if Length(S) = 1 then Result := Result + '0' + S else Result := Result + S;
end;
end;
begin
//Ansi to Unicode
Result := StrToHex(Win2UTF16(S));
end;
//Ansi to Unicode
Материал похожий на Ansi to Unicode
- Преобразование цвета RGB <-> HLS
- ANSI в ASCII
- Access Violation при передаче неполного параметра
- Advantage Database Server
- ASCII драйвер для CSV-файлов
Метки
35 c 58 c
Навигация
Сейчас на сайте
Сейчас на сайте 0 пользователей и 1 гость.
Статистика
Всего материалов: 1387