成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? PHP讀取漢字的點陣數據
全站頭部文字 我要出現在這里
PHP讀取漢字的點陣數據 816 2023-12-10   

項目中遇到的問題:

PHP如何讀取漢字的點陣數據?想實現輸入一段文字,能得到這一段文字的所有點陣碼。

解決方法:

簡體中文國標字庫7445個字符,其中漢字6773個,包括一級漢字3755個,二級漢字3008個。采用2字節(16位二進制)編碼。

區位碼:國標GB2312規定,所有的國標漢字與符號組成一個94×94的矩陣。在此方陣中,每一行稱為一個”區”,每一列稱為一個”位”,因此,這個方陣實際上組成了一個有94個區(區號分別為0 1到94)、每個區內有94個位(位號分別為01到94)的漢字字符集。一個漢字所在的區號和位號簡單地組合在一起就構成了該漢字的”區位碼”。在漢字的區位碼中,高兩位為區號,低兩位為位號。由此可見,區位碼與漢字或符號之間是一一對應的。

內碼:漢字的內碼是指在計算機中表示漢字的編碼。機內碼與區位碼稍有區別。目前,對于國內大多數的計算機系統,一個漢字的內碼占兩個字節,分別稱為高位字節與低位字節,且這兩位字節與區位碼的關系如下: 內碼高位=區碼+A0H(H表示十六進制) 內碼低位=位碼+A0H 例如,漢字”啊”的區位碼為”1601″,區碼和位碼分別用十六進制表示即為”1001H”,則它的內碼為”B0A1H”。其中B0H為內碼的高位字節,A1H為內碼的低位字節。

返回由0和1組成的字符串

<?php
/**
* 讀取漢字點陣數據
*
*/

$str = "中華人民共和國";

$font_file_name = "simsun12.fon"; // 點陣字庫文件名
$font_width = 12; // 單字寬度
$font_height = 12; // 單字高度
$start_offset = 0; // 偏移

$fp = fopen($font_file_name, "rb");

$offset_size = $font_width * $font_height / 8;
$string_size = $font_width * $font_height;
$dot_string = "";

for ($i = 0; $i < strlen($str); $i ++)
{
if (ord($str{$i}) > 160)
{
// 先求區位碼,然后再計算其在區位碼二維表中的位置,進而得出此字符在文件中的偏移
$offset = ((ord($str{$i}) - 0xa1) * 94 + ord($str{$i + 1}) - 0xa1) * $offset_size;
$i ++;
}
else
{
$offset = (ord($str{$i}) + 156 - 1) * $offset_size;
}

// 讀取其點陣數據
fseek($fp, $start_offset + $offset, SEEK_SET);
$bindot = fread($fp, $offset_size);

for ($j = 0; $j < $offset_size; $j ++)
{
// 將二進制點陣數據轉化為字符串
$dot_string .= sprintf("%08b", ord($bindot{$j}));
}
}

fclose($fp);

echo $dot_string;
?>

以上所述就是本文的全部內容了,希望大家能夠喜歡。


主站蜘蛛池模板: 极地特快电影英文版| 原罪说| 三年级下册语文第五单元作文奇妙的想象| 中长发图片2024最新款女| 袁鸿| 金奎丽| 被调教的女人2| 吴京电影大全| 我记得你| 日本大片ppt免费ppt2024| 黄雀电视剧高清完整版| 六级词汇电子版| 女生操女生| 合普诺| 盛夏晚晴天演员表| 董骥| yy五项滚刀骂人套词| 裸体小男孩| 怀秋| 在线黄色片| 第一财经在线直播今日股市| 春天的芭蕾歌词| 美国电影《贵夫人》| 少妇av网站| 康熙王朝50集免费观看投屏电视剧| china中国农村妇女aⅴ| 李莉莉| 多田有花与老丈人电影叫什么名字| tim roth| 六年级上册英语书电子版翻译| 微笑江湖| 宋佳比基尼图片| 17岁韩国电影完整版观看免费| 美丽的坏女人中文字幕| 莫恭明| intel集成显卡天梯图| 风云雄霸天下| 05s502图集| 环球棋牌| 漂亮的女邻居5伦理| 爱情最美丽 电视剧|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103