AnsiString类型定义的时候可以直接指定代码页,比如950繁体字,936日文
2024-09-03 14:40:39
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
最新文章
- RAC 10.2.0.5,客户端登陆间断遭遇ORA-12545
- python练习程序(c100经典例7)
- Mybatis拦截器介绍
- C#中 字符串的处理
- JavaBean以及MVC模式
- (转)SVN源码管理(上&;下)
- iOS学习之Runtime(二)
- HDU 5798 Stabilization
- perl模块安装
- redis持久化方案(十)
- es6的几种写法
- httpclient的简单使用
- Postman + newman + jenkins 的API自动化测试应用
- office2013 激活方法
- Atcoder CADDi 2018 Solution
- centos6.x升级glibc-2.17
- MySQL wait_timeout参数设置与网上常见错误小纠
- cookie,localstorge,sessionstorge三者总结
- TensorFlow 同时调用多个预训练好的模型
- Python3 list记录
热门文章
- POJ:2342-Anniversary party(树形dp入门题目)
- meta-data
- JAVA-基础(四) Aarryas 数组
- Freemarker的循环通过assign指令引入计数变量
- [POJ 1003] Hangover C++解题
- JDK并发基础与部分源码解读
- tzcacm去年训练的好题的AC代码及题解
- POJ 2353 Ministry
- iOS AFNetWorking中block执行完后再执行其它操作
- [转] Makefile 基础 (7) —— Makefile 中 make 的运行