扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
php代码:返回由0和1组成的字符串。
<?php /** * 读取汉字点阵数据 * * @author legend <legendsky@hotmail.com> * @link http://www.ugia.cn/?p=82 * @Copyright www.ugia.cn */ $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 ; ?> |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者