SQL IMAGE字段读取
SQL IMAGE字段读取出来,需要转换成二进制字符串否则是乱码
var
stext,sTextA :String;
begin
sTextA :=ADOQuery.FieldByName('well').AsString; //功图二进制数据
for j:=1 to Length(sTextA) do
stext:=stext+inttoHex(Ord(sTextA[j]),2); //返回对应的ASCII码值
ord函数与chr函数
字母“A”对应的ASCII码值为65 ord('A') 65
chr(65) 'A'
中文 转 unicode 说白了就是将单个字符,例如:“网页”的页字 用 Ord函数转成 10进制数字,再转为16进制数据。就这样。
其实,用系统的计算器,科学型计算,也可以计算出来。
//Char 类型与其编码值的转换:
var
b: Byte;
c: Char;
begin
b := Ord('A'); {返回: 65}
b := Ord(#65); {返回: 65}
b := Ord($41); {返回: 65}
b := Ord(#$41); {返回: 65}
b := Byte('A'); {返回: 65}
b := Byte(#65); {返回: 65}
b := Byte($41); {返回: 65}
b := Byte(#$41); {返回: 65}
c := Chr(65); {返回: A }
c := Chr($41); {返回: A }
c := Char(65); {返回: A }
c := Char($41); {返回: A }
end;
--------------------------------------------------------------------------------
//WideChar 类型与其编码值的转换; 汉字的 UniCode 编码范围是: $4E00..$9FA5
var
w : Word;
c : WideChar;
ws: WideString;
s : string;
begin
{准备工作}
ws := '万一';
c := ws[1];
//ShowMessage(c); {万}
{从汉字到 UniCode 编码}
w := Ord(c); {返回十进制数 : 19975}
w := Word(c); {返回十进制数 : 19975}
s := Format('%.4x',[Ord(c)]); {返回十六进制的字符串: 4E07 }
s := IntToHex(Ord(c), 4); {返回十六进制的字符串: 4E07 }
{从 UniCode 编码到汉字}
c := #19975; {万}
c := #$4E07; {万}
c := #$4e07; {万}
c := WideChar(19975); {万}
c := WideChar($4E07); {万}
end;
中文Unicode转换 http://app.baidu.com/2unicode?keyword=unicode%E8%BD%AC
全文:http://hi.baidu.com/mit1208/item/3588c374b076433a7044234b
Delphi Unicode转中文:http://www.cnblogs.com/devcjq/articles/3747918.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?