Aşağıda utf8 ve unicode dönüşüm fonksiyonları yer almaktadır. Bu kodlar açık kaynak kodlu aresgalaxy projesinden alınmıştır:
{
this file is part of Ares
Aresgalaxy (
*This program is free software; you can redistribute it and/or
*modify it under the terms of the GNU General Public License
*as published by the Free Software Foundation; either
*version 2 of the License, or (at your option) any later version.
*This program is distributed in the hope that it will be useful,
*but WITHOUT ANY WARRANTY; without even the implied warranty of
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *See the
*GNU General Public License for more details.
*You should have received a copy of the GNU General Public License
*along with this program; if not, write to the Free Software
*Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
}
{
Description:
unicode UTF-8 conversions
}
unit uUnicode;
interface
{$IF CompilerVersion >= 21.0}
*{$WEAKLINKRTTI ON}
*{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFEND}
function UTF8BufToWideCharBuf(const utf8Buf; utfByteCount: integer; var unicodeBuf; var leftUTF8: integer): integer;
function utf8strtowidestr(const strin:ansistring):widestring;
function WideCharBufToUTF8Buf(const unicodeBuf; uniByteCount: integer; var utf8Buf): integer;
function widestrtoutf8str(const strin:widestring):ansistring;
function widetostr(const strin:widestring):ansistring;
procedure normalize_special_unicode(var strin:widestring);
implementation
procedure normalize_special_unicode(var strin:widestring);
var
i,num:integer;
begin
if length(strin)
{
this file is part of Ares
Aresgalaxy (
Misafirler için gizlenen link, görmek için
Giriş yap veya üye ol.
)*This program is free software; you can redistribute it and/or
*modify it under the terms of the GNU General Public License
*as published by the Free Software Foundation; either
*version 2 of the License, or (at your option) any later version.
*This program is distributed in the hope that it will be useful,
*but WITHOUT ANY WARRANTY; without even the implied warranty of
*MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *See the
*GNU General Public License for more details.
*You should have received a copy of the GNU General Public License
*along with this program; if not, write to the Free Software
*Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
}
{
Description:
unicode UTF-8 conversions
}
unit uUnicode;
interface
{$IF CompilerVersion >= 21.0}
*{$WEAKLINKRTTI ON}
*{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFEND}
function UTF8BufToWideCharBuf(const utf8Buf; utfByteCount: integer; var unicodeBuf; var leftUTF8: integer): integer;
function utf8strtowidestr(const strin:ansistring):widestring;
function WideCharBufToUTF8Buf(const unicodeBuf; uniByteCount: integer; var utf8Buf): integer;
function widestrtoutf8str(const strin:widestring):ansistring;
function widetostr(const strin:widestring):ansistring;
procedure normalize_special_unicode(var strin:widestring);
implementation
procedure normalize_special_unicode(var strin:widestring);
var
i,num:integer;
begin
if length(strin)