Delphi 简体 繁体 转换
http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=104986
試看看
這個是豬寶寶從網路上抄來的 檢視純文字版列印?
function Cn2Big(CnStr: string): string;
var
Len: Integer;
begin
Len := Length(CnStr);
SetLength(Result, Len);
LCMapString(GetUserDefaultLCID, LCMAP_TRADITIONAL_CHINESE, PChar(CnStr), Len, PChar(Result), Len);
end; function BIG2cn(bigStr: string): string;
var
Len: Integer;
begin
Len := Length(bigStr);
SetLength(Result, Len);
LCMapString(GetUserDefaultLCID, LCMAP_SIMPLIFIED_CHINESE, PChar(bigStr), Len, PChar(Result), Len);
end; procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.Text:=CN2BIG(EDIT1.Text);
end; procedure TForm1.Button2Click(Sender: TObject);
begin
edit2.Text:=big2cn(EDIT1.Text);
end; ===================引 用 h@visli 文 章===================
各位新春快樂! 我有一份Unicode編碼的文本文檔,裏面大部分內容為繁體中文,其它為英文字符,需要將裏面的繁體中文內容轉為簡體中文Unicode內容,請問在Delphi XE下應該如何實現?
aftcast
站務副站長 發表:
回覆:
積分:
註冊:-- 發送簡訊給我 # 發表時間:-- :: IP:114.32.xxx.xxx 訂閱
hello, 必需要警告豬寶寶上面貼的程式碼僅在以下情形是正確的:
/ os本身是簡體的,而無論delphi是哪版 (d5以後應該都對)
OS 本身是简体,的而无论Delphi是哪个版本,D5以后应该都对。
/ 若os是我們繁體的,那麼上面的碼僅delphi2009以上的版本才會正確。若2009以前的話,就錯!
若OS是我们繁体的,那么上面的代码仅在Delphi2009以上的版本才会正确。若2009以前的话,就错! 若要正統的表達函式的用意,那 Cn2Big 或 Big2Cn的命名不正確。應該把
Cn2Big 改成 chs2cht (簡字體轉繁字體,必需強調的是…它與編碼轉換無關,也就是說都是在同一個編碼上換字而已)
简字体转繁字体,必须强调的是,他与编码转换无关,也就是说是在同一个编码上换字而已。
Big2Cn 改成 cht2chs 因為,在上述所講的 的情形下,且delphi是2009前,雖然"看起來"字是對的,但其實轉來轉去都是GBK編碼,非big5。
因为,在上述1的情形下,且Delphi是2009前,虽然看起来字是对的,但是其实转来转去都是GBK编码,并非BIG5。
而1的情形下,但delphi是2009以後,那麼情形與情形2是同樣的!
而1的情形下,但Delphi是2009以后,那么情形与情形2是同样的!
而上述2的情形下,其實是因為d2009後的字串是unicode,故LCMapString這個api會呼叫到LCMapStringW這個unicode版,於是變成簡"字型"unicode轉"繁"字型unicode。
而上述2的情形下,其实是因为d2009后的字串是Unicode,故LCMapString这个API会调用到LCMapStringW这个Unicode版,于是变成简字形Unicode转繁字形Unicode。
若真的要把big5轉簡體,或是簡體轉big,那就沒那麼簡單。詳可見我的blog: http://aftcast.pixnet.net/blog/post/22191609 此外,近期我可能會和qcom討論是否可以開個unicode的深入課程,最快3月多。但時候還請大家來聽並指教! :) 若真的要把BIG5转简体,或是简体转BIG5,那就没那么简单。
GBK,BIG5,UNICODE,都是字符编码叫法
简体,繁体,是汉字的不同形式叫法。同一种编码里,存在这1个字的简体和繁体。
Delphi 简体 繁体 转换的更多相关文章
- 汉字简体繁体转换----Javascript
最近看到有个简体--繁体字互相转换的程序,是用JS实现的,感觉很好玩,所以拿来研究研究.先看看界面如下: 汉字简体繁体转换 // 0&&parent.frames.length) { ...
- php 网站中文简体繁体转换类
php 网站中文简体繁体转换类 <?php /* * define zh convert functions * 2017-4-28 use str_replace for speed * zh ...
- c#简体繁体转换
方法一已经亲测,使用正常,方法二貌似不能用. 方法一 /// <summary> /// 中文字符工具类 /// </summary> public static class ...
- java代码实现简体繁体转换
汉字分为简体和繁体字,这是众所周知的,虽然繁体字中国大陆这边用的并不会太多,但时不时的还是会使用到.那么,如何做到简体字和繁体字的转换呢?其实很简单,这里附上一个java版本的简繁体转换,用网上找的接 ...
- PHP实现---汉字简体繁体转换
這是以class包裝好的簡繁體轉換的class, 另外需要兩個table檔: 1. http://www.jerry.com.tw/php/big5.map 2. http://www.jerry.c ...
- Delphi汉字简繁体转换代码(分为D7和D2010版本)
//delphi 7 Delphi汉字简繁体转换代码unit ChineseCharactersConvert; interface uses Classes, Windows; type T ...
- spring boot: 通过filter过滤器实现中文的简体繁体字符集转换(spring boot 2.3.1)
一,为什么要使用filter来实现简繁体转换? 项目中有时会有同时支持简体和繁体两种字符集的要求, 或者搜索引擎有支持繁体输入字符的需求. 针对繁体字符的显示, 我们通常会在数据库和模板.文案配置中默 ...
- .Net、C# 汉字转拼音,简体繁体转换方法
Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支 ...
- Python实现简繁体转换,真的玩得花
大家好鸭, 我是小熊猫 直接开搞!!! 1.opencc-python 首先介绍opencc中的Python实现库,它具有安装简单,翻译准确,使用方便等优点.对于我们日常的需求完全能够胜任. 1.1安 ...
随机推荐
- python学习笔记(二十九)为什么python的多线程不能利用多核CPU
问题:为什么python的多线程不能利用多核CPU,但是咱们在写代码的时候,多线程的确是在并发,而且还比单线程快原因:因为GIL,python只有一个GIL,运行python时,就要拿到这个锁才能执行 ...
- Spark checkpoint机制简述
本文主要简述spark checkpoint机制,快速把握checkpoint机制的来龙去脉,至于源码可以参考我的下一篇文章. 1.Spark core的checkpoint 1)为什么checkpo ...
- hadoop2.x Federation
单Active NN的架构使得HDFS在集群扩展性和性能上都有潜在的问题,当集群大到一定程度后,NN进程使用的内存可能会达到上百G,NN成为了性能的瓶颈 常用的估算公式为1G对应1百万个块,按缺省块大 ...
- 【转】Deep Learning(深度学习)学习笔记整理系列之(六)
9.3.Restricted Boltzmann Machine (RBM)限制波尔兹曼机 假设有一个二部图,每一层的节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所 ...
- Frame 框架的创建
Qt 创建Frame框架的例子: QFrame * frm = new QFrame(this); //创建一个框架 frm->setFrameStyle(QFrame::StyledPanel ...
- 通过CFX发布WebService(一)
发布WebService的方法很多.如XFire,CFX等.现在首先介绍下怎样通过CFX来发部一个WebService. (1) 首先,是从Apache官方网站获取CFX的Java包.其地址是:htt ...
- 001-springmvc之原理图
1.流程. 2.时序图. 3.方法调用. (0)DispatcherServlet类.提供了HandlerMapping成员关联关系. /** MultipartResolver used by th ...
- hdu5139
这题需要我们计算 这个 因为n<10000000空间过大 那么我们可以计算出 当n可以被10整除的时候我们就将n/10记录下来当我们要查询的时候去暴力计算他们与整十之间的数去暴力去做就好了 这个 ...
- 什么是ASCII码文本文件
标准ASCII码方式(也称文本方式)存储的文件,更确切地说,英文.数字等字符存储的是ASCII码.文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车.换行等信息)外,不能存储其他任 ...
- [BZOJ1901]Dynamic Rankings
Description 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1 ],a[i+2]……a[j]中第k小的数 ...