procedure TForm3.FormCreate(Sender: TObject);
type
AnsiStringForPage = type AnsiString(950);//代码页
var
AnsiStr: AnsiStringForPage;
i: Integer; function GetAnsiCharCode(Value: AnsiChar): string;
begin
Result := IntToHex(ord(Value), 2);
end; begin
AnsiStr := 'abcABC中国人';//ansi兼容abcAbc,所以这些字母对应的值与代码页无关,而中国人,在950中人存在,国不存,所以长度为11,936时长度12,932也是长度11
for i := 0 to Length(AnsiStr) do
Memo1.Lines.Add(IntToHex(ord(AnsiStr[i]), 2));

以上内容只做学习标志,请勿查看

字符串赋值的时候会调用以下代码System.pas中

procedure _LStrLAsg(var Dest: _AnsiStr; const Source: _AnsiStr);//字符串复制
{$IFDEF PUREPASCAL}
var
P: Pointer;
begin
P := Pointer(Source);
if P <> nil then
_LStrAddRef(P);
P := Pointer(Dest);
Pointer(Dest) := Pointer(Source);
_LStrClr(P);//清空字符串
end;
{$ELSE}
asm
{ -> EAX pointer to dest }
{ EDX source } TEST EDX,EDX
JE @@sourceDone

AnsiString类型定义的时候可以直接指定代码页,比如950繁体字,936日文的更多相关文章

  1. DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义

    DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义 今天看到一篇CSS应用的一个友好搜索,我按网页上的代码复制.粘贴后预览时总达不到效果,而直接拷贝他的实例却能达到效果, ...

  2. 1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性

    1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...

  3. TypeScript 学习四 面向对象的特性,泛型,接口,模块,类型定义文件*.d.ts

    1,面向对象的特性一:类,继承,见上一篇博客: 2,面向对象的特性二: 泛型(generic):参数化的类型,一般用来限制集合的内容:指定只能放某个类型的元素 如下图中的尖括号中的Person,就代表 ...

  4. JavaScript 和 TypeScript 交叉口 —— 类型定义文件(*.d.ts)

    在 <从 JavaScript 到 TypeScript 系列> 文章我们已经学习了 TypeScript 相关的知识. TypeScript 的核心在于静态类型,我们在编写 TS 的时候 ...

  5. [Objective-C语言教程]类型定义:typedef(19)

    Objective-C编程语言提供了一个名称为typedef的关键字,可以使用此关键字为类型指定新名称. 以下是为单字节数字定义术语BYTE的示例 - typedef unsigned char BY ...

  6. sqlbulkcopy 使用DataTable作为数据源的数据类型问题--来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier

    今天做批量插入的时候,SQLSERVER总是报错,错误提示“来自数据源的String类型的给定值不能转换为指定目标列的类型 uniqueidentifier”. 首先核对了一下定义的dataTable ...

  7. 2018.5.14 XML文档类型定义----DTD

    1.DTD概述 一个完全意义上的XML文件不仅仅是Well-fromed(格式良好的),而且还应该是使用了一些自定义的标记ValidatingXMl(有效的)文档也就是说他必须遵守文档类型的定义中已声 ...

  8. 为类型定义取别名、环境变量、静态库与动态库(day03)

    一.为类型命名别名 struct node{ int num; struct node *next; }; typedef struct node node_t; node_t n; 使用typede ...

  9. ISO/IEC 9899:2011 条款6.7.8——类型定义

    6.7.8 类型定义 语法 1.typedef-name: identifier 约束 2.一个typedef名指定了一个可变修改的类型,然后它应该具有语句块作用域. 语义 3.在一个声明中,该声明的 ...

随机推荐

  1. mysql PacketTooBigException 的处理方式

    SHOW VARIABLES LIKE '%max_allowed_packet%'; set global max_allowed_packet = 2*1024*1024*1000

  2. 配置LAMP环境

    对我这种Linux小菜鸡来说,集成环境是最好的选择. 一,下载wget --no-check-certificate https://github.com/teddysun/lamp-yum/arch ...

  3. [转] babel-present-env 与 babel-polyfill 学习总结

    babelrc 配置文件 { "presets": [ [ "env", { "modules": false, "useBuil ...

  4. 添加字段的SQL语句的写法:

    alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参 --删除字段   -- alter table  [SolidDB].[dbo].tP ...

  5. Thanks for your encourage!

    将近三个月的学习,我的努力换回了代表荣誉的小黄衫,这令我很开心啊...我想是不是要写点什么来表达自己的心情呢=,=  于是就有了以下文字ahhhhhh... 学习心得: (1)学习中总会有失败和成功, ...

  6. DefaultTransactionStatus源码

    package org.springframework.transaction.support; import org.springframework.transaction.NestedTransa ...

  7. Oracle的表空间、数据文件、用户

          每一个Oracle数据库都是由三种类型的文件组成:数据文件(Data File).日志文件(Log File)和控制文件(Control File).数据库的文件为数据库信息提供真正的物理 ...

  8. OA笔记

    一:Asp.Net MVC请求处理原理(Asp.Net mvc 是怎样进入请求管道的.)请求-->IIS--->ISAPIRuntime-->HttpWorkRequest--> ...

  9. 【转】Building a RESTful Web Service

    目标 构建一个service,接收如下HTTP GET请求: [plain] view plain copy   http://localhost:8080/greeting 并返回如下JSON格式的 ...

  10. kb-07专题线段树-04--离散化;

    /* poj2528 线段树 好题,用到了离散化,二分定位,特殊的区间查寻方式:在下面的代码注释中有详细的解释: */ #include<iostream> #include<cst ...