delphi 中 unicode 转汉字 函数

近期用到这个函数,无奈没有找到 delphi 自带的,网上找了下 有类似的,没有现成的,我需要的是 支持 “\u4f00 ” 这种格式的,即前面带标准的 “\u”  于是改造了一下。

下面是 解码 函数:

方便有需要的人吧,我自己也需要^_^

 /// <summary>
    /// // Unicode转汉字 ,支持自动过滤非 unicode编码,即非 unicode编码不转换
    ///  只支持 标准的 类型 \u4e00  这种格式的 转换, 以\u 开头的
    ///  code by 猿哥哥 2015-2-11
    /// </summary>
 function TMyEncode.UnicodeToChinese(inputstr:string):string;
var
i:Integer;
index:Integer;
temp,top,last:string;
begin
   index:=1;
   while index>=0 do
   begin
   index:= inputstr.IndexOf(‘\u‘);
 if index<0 then
begin
last:= inputstr;
   Result:= Result+ last;
   Exit;
end;
   top:= Copy(inputstr,1,index); //取出 编码字符前的 非 unic 编码的字符,如数字
   temp:= Copy(inputstr,index+1,6);//取出编码,包括 \u    ,如\u4e3f
   Delete(temp,1,2);
   Delete(inputstr,1,index+6);
  result:= Result+ top+ WideChar( StrToInt(‘$‘+ temp)) ;
   end;
end;
时间: 2024-11-05 13:43:18

delphi 中 unicode 转汉字 函数的相关文章

Delphi中unicode转汉字函数(转)

源:Delphi中unicode转汉字函数 近期用到这个函数,无奈没有找到 delphi 自带的,网上找了下 有类似的,没有现成的,我需要的是 支持 “\u4f00 ” 这种格式的,即前面带标准的 “\u”  于是改造了一下. 下面是 解码 函数: 方便有需要的人吧,我自己也需要^_^ /// <summary> /// // Unicode转汉字 ,支持自动过滤非 unicode编码,即非 unicode编码不转换 /// 只支持 标准的 类型 \u4e00 这种格式的 转换, 以\u 开头

Delphi中Inputbox 和Inputquery 函数的使用

原文转自:http://blog.csdn.net/zengcong2013/article/details/18355959 inputbox的返回值是,你在输入框中输入的文字.而inputquery的返回值是,你是否点击了确定按钮.它的返回值是布尔型的.如果你在inputbox中一样也不输入,就点击取消的话,就会提示出错,而inputquery就不会.它们前面的两个参数都是一样的,分别是输入框的标题,和提示信息.例:if inputbox('加法题','7+5','')='12' then 

BCB/Delphi中常用的VCL函数说明(文件函数)

--------------------文件操作--------------------函数名称:ChangeFileExt函数说明:更改指定文件的扩展名,函数原型如下:AnsiString __fastcall ChangeFileExt(const AnsiString FileName,const AnsiString Extension); 函数名称:DeleteFile函数说明:在计算机磁盘中删除指定的文件,如果操作成功,则函数返回真,函数原型如下:bool __fastcall De

Delphi中Format与FormatDateTime函数详解

Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以 供大家查询之用: 首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload; 事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,但并不多用,所以这里只对第一个介绍:function Format(const Format: st

Delphi中Unicode转中文

function UnicodeToChinese(inputstr: string): string;var i: Integer; index: Integer; temp, top, last: string;begin index := 1; while index >= 0 do begin index := Pos('\u', inputstr) - 1; if index < 0 then begin last := inputstr; Result := Result + la

初探Delphi中的插件编程

前言 我写Delphi程序是从MIS系统入门的,开始尝试子系统划分的时候采用的是MDI窗体的结构.随着系统功能的扩充,不断有新的子系统加入系统中,单个工程会变得非常大,每次做一点修改都要重新编译,单个工程的形式也不利于团队协作.为了提高工作效率,我希望利用DLL动态链接库的形式实现插件结构的编程. 插件结构的编程需要一个插件容器来控制各DLL的运行情况,将划分好的每个子系统安排到一个DLL库文件中.对每个DLL程序需要为容器预留接口函数,一般接口函数包括:启动调用DLL库的函数.关闭DLL库的函

在Delphi中静态调用DLL 引用外部Dll External Dll 导入Dll

  调用一个DLL比写一个DLL要容易一些.首先给大家介绍的是静态调用方法,稍后将介绍动态调用方法,并就两种方法做一个比较.同样的,我们先举一个静态调用的例子. unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton;

delphi中formatFloat代码初探(在qt下实现floatformat的函数)

由于项目需要,需要在qt下实现floatformat的函数.之前写过一个,但是写得不好.决定重新写一个,参考delphi xe2下的实现.把xe2下的相关代码都看了一遍,xe2的代码思路在这里贴出来.xe2下的代码在system.sysutils下,核心函数是InternalFloatToTextFmt.它有汇编的版本跟纯pascal的版本.汇编看不懂,参考的是纯pascal的版本. 整体流程是: 1)解析format格式化字符串 [delphi] view plain copy Result 

Delphi中建立指定大小字体和读取该字体点阵信息的函数(转)

源:Delphi中建立指定大小字体和读取该字体点阵信息的函数 Delphi中建立指定大小字体和读取该字体点阵信息的函数 作者:Thermometer Email:  [email protected] 由于要控制硬件,需要把矢量的汉字转化为点阵信息写入eprom或在液晶屏上显示,因此用Delphi写了如下的函数,可以把指定的一个汉字(两个字符)转化为点阵信息保存到文件,每个点对应一个二进制位,有文字信息该位为1,否则为0. 目前该函数可以生成指定大小的汉字并可读取点阵字模信息保存到文件. 如Co