查看: 11823|回复: 29

[精华] blob数据类型的学习记录及应用--输出放大汉字

[复制链接]
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2009-9-16 21:27 | 显示全部楼层 |阅读模式
SQL> create table a(b1 blob);

表已创建。

已用时间:  00: 00: 00.05
SQL> insert into a values('A');

已创建 1 行。

已用时间:  00: 00: 00.00
SQL> commit;

提交完成。

已用时间:  00: 00: 00.00
SQL> select b1 from a;
SP2-0678: 列或属性类型无法通过 SQL*Plus 显示
已用时间:  00: 00: 00.00
SQL> select dbms_lob.substr(b1,1,1) from a;

DBMS_LOB.SUBSTR(B1,1,1)
------------------------------------------------------------------------------------------------------------------------
------------
0A

已用时间:  00: 00: 00.02
SQL> desc a
名称                                                                     是否为空? 类型
------------------------------------------------------------------------ -------- -------------------------------------
------------
B1                                                                                BLOB

SQL> select dbms_lob.getlength(b1) from a;

DBMS_LOB.GETLENGTH(B1)
----------------------
                     1

已用时间:  00: 00: 00.00
SQL> insert into a values('王');
insert into a values('王')
                     *
ERROR 位于第 1 行:
ORA-01465: 无效的十六进制数字


已用时间:  00: 00: 00.00
SQL> insert into a values(ascii('王'));
insert into a values(ascii('王'))
                     *
ERROR 位于第 1 行:
ORA-00932: 不一致的数据类型: 要求 BLOB 得到的却是 NUMBER


已用时间:  00: 00: 00.00
SQL> select utl_raw.cast_to_varchar2(dbms_lob.substr(b1,1,1)) from a;

UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(B1,1,1))
------------------------------------------------------------------------------------------------------------------------
------------


已用时间:  00: 00: 00.01
SQL> select utl_raw.cast_to_varchar2(b1) from a;

UTL_RAW.CAST_TO_VARCHAR2(B1)
------------------------------------------------------------------------------------------------------------------------
------------


已用时间:  00: 00: 00.00
SQL> insert into a values('41');

已创建 1 行。

已用时间:  00: 00: 00.00
SQL> select utl_raw.cast_to_varchar2(b1) from a;

UTL_RAW.CAST_TO_VARCHAR2(B1)
------------------------------------------------------------------------------------------------------------------------
------------

A

已用时间:  00: 00: 00.00
SQL>
SQL> insert into a values(utl_raw.cast_to_raw('王'));

已创建 1 行。

已用时间:  00: 00: 00.00
SQL> select dbms_lob.substr(b1,2,1) from a;

DBMS_LOB.SUBSTR(B1,2,1)
-------------------------------------------------------------
------------
0A
41
CDF5

[ 本帖最后由 〇〇 于 2009-9-17 11:27 编辑 ]
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
 楼主| 发表于 2009-9-17 07:56 | 显示全部楼层

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
 楼主| 发表于 2009-9-17 08:49 | 显示全部楼层
create table char_image(id varchar(20),bin_data blob);

insert into char_image values('hzk16',null); --见附件

commit;
SQL> create directory DIR as 'c:\vc6';

Directory created.

SQL> grant read,write on directory DIR to lt;
grant read,write on directory DIR to lt
                                     *
ERROR at line 1:
ORA-01749: you may not GRANT/REVOKE privileges to/from yourself
SQL> conn / as sysdba
Connected.
SQL> grant read,write on directory dir to lt;

Grant succeeded.

SQL> conn lt/lt

declare
src_file BFILE := bfilename('DIR', 'hzk16');
dst_file BLOB;
lgh_file BINARY_INTEGER;
BEGIN
  -- lock record
  SELECT bin_data
  INTO dst_file
  FROM char_image
  FOR update;
  dbms_lob.createtemporary(dst_file, TRUE);
  -- open the file
  dbms_lob.fileopen(src_file, dbms_lob.file_readonly);
  -- determine length
  lgh_file := dbms_lob.getlength(src_file);
  -- read the file
  dbms_lob.loadfromfile(dst_file, src_file, lgh_file);
  -- update the blob field
  UPDATE char_image
  SET bin_data = dst_file;
  COMMIT;
  -- close file
  dbms_lob.fileclose(src_file);
end;
/

L procedure successfully completed.

select count(*)from char_image;

NT(*)
-----
    1

select length(bin_data)from char_image;

H(BIN_DATA)
-----------
     267616

[ 本帖最后由 〇〇 于 2009-9-17 12:22 编辑 ]

Hzk16.rar

137.02 KB, 下载次数: 46

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
 楼主| 发表于 2009-9-17 11:26 | 显示全部楼层

with tmp
as(select '汉字放大' hz from dual),
tmp2
as(select level n from tmp connect by level <=length(hz)),
tmp3
as(
select n,l,substr(dbms_lob.substr(bin_data,32,(94*(trunc(ascii(substr(hz,n,1))/256)-161)+
(mod(ascii(substr(hz,n,1)),256)-161))*32+1),l*4-3,4) line from char_image,tmp,tmp2,
(select level l from dual connect by level<=16)),
tmp4
as(
select n,l,to_number(substr(line,1,1),'X')a,to_number(substr(line,2,1),'X')b,
to_number(substr(line,3,1),'X')c,to_number(substr(line,4,1),'X')e from tmp3)
select --n,l,a,b,c,e,
replace(replace(
to_char(
(floor(a/8)||mod(floor(a/4),2)||mod(floor(a/2),2)||mod(a,2))*1E12+
(floor(b/8)||mod(floor(b/4),2)||mod(floor(b/2),2)||mod(b,2))*1E8+
(floor(c/8)||mod(floor(c/4),2)||mod(floor(c/2),2)||mod(c,2))*1E4+
(floor(e/8)||mod(floor(e/4),2)||mod(floor(e/2),2)||mod(e,2)),'09999999999999999'),
'0',' '),'1','■') hh from tmp4
order by n,l;

                 
  ■          ■   
   ■■ ■■■■■■■■■  
    ■        ■   
 ■     ■     ■   
  ■■   ■     ■   
   ■   ■    ■    
     ■  ■   ■    
    ■   ■  ■     
   ■     ■ ■     
 ■■■      ■      
   ■     ■ ■     
   ■    ■   ■    
   ■   ■     ■   
   ■  ■      ■■■ 
     ■        ■  
       ■         
        ■        
   ■■■■■■■■■■■■  
   ■          ■  
  ■          ■   
    ■■■■■■■■     
          ■      
         ■       
        ■     ■  
 ■■■■■■■■■■■■■■■ 
        ■        
        ■        
        ■        
        ■        
      ■ ■        
       ■         
   ■      ■      
    ■     ■      
    ■     ■      
         ■    ■  
 ■■■■■■■■■■■■■■■ 
   ■         ■   
   ■  ■  ■   ■   
   ■■■■■ ■   ■   
   ■  ■   ■ ■    
   ■  ■   ■ ■    
   ■  ■    ■     
   ■  ■   ■ ■    
  ■   ■   ■ ■    
  ■ ■ ■  ■   ■   
 ■   ■  ■    ■■■ 
       ■      ■  
        ■        
        ■        
        ■        
        ■        
        ■     ■  
 ■■■■■■■■■■■■■■■ 
        ■        
       ■ ■       
       ■ ■       
       ■  ■      
      ■   ■      
      ■    ■     
     ■      ■    
    ■        ■■■ 
  ■■          ■  
                 

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
 楼主| 发表于 2009-9-17 13:08 | 显示全部楼层
24*24
insert into char_image values('hzk24s',null);

declare
src_file BFILE := bfilename('DIR', 'hzk24s');
dst_file BLOB;
lgh_file BINARY_INTEGER;
BEGIN
  -- lock record
  SELECT bin_data
  INTO dst_file
  FROM char_image where id='hzk24s'
  FOR update;
  dbms_lob.createtemporary(dst_file, TRUE);
  -- open the file
  dbms_lob.fileopen(src_file, dbms_lob.file_readonly);
  -- determine length
  lgh_file := dbms_lob.getlength(src_file);
  -- read the file
  dbms_lob.loadfromfile(dst_file, src_file, lgh_file);
  -- update the blob field
  UPDATE char_image
  SET bin_data = dst_file where id='hzk24s';
  COMMIT;
  -- close file
  dbms_lob.fileclose(src_file);
end;
/
--24
with tmp
as(select '汉' hz from dual),
tmp2
as(select level n from tmp connect by level <=length(hz)),
tmp3
as(
select n,l,substr(dbms_lob.substr(bin_data,72,(94*(trunc(ascii(substr(hz,n,1))/256)-161-15)+
(mod(ascii(substr(hz,n,1)),256)-161))*72+1),l*6-5,6) line from char_image,tmp,tmp2,
(select level l from dual connect by level<=24)where id='hzk24s'),
tmp4
as(
select n,l,to_number(substr(line,1,1),'X')a,to_number(substr(line,2,1),'X')b,
to_number(substr(line,3,1),'X')c,to_number(substr(line,4,1),'X')e ,
to_number(substr(line,5,1),'X')f,to_number(substr(line,6,1),'X')g
from tmp3)
select --n,l,a,b,c,e,
replace(replace(
to_char(
(floor(a/8)||mod(floor(a/4),2)||mod(floor(a/2),2)||mod(a,2))*1E12+
(floor(b/8)||mod(floor(b/4),2)||mod(floor(b/2),2)||mod(b,2))*1E8+
(floor(c/8)||mod(floor(c/4),2)||mod(floor(c/2),2)||mod(c,2))*1E4+
(floor(e/8)||mod(floor(e/4),2)||mod(floor(e/2),2)||mod(e,2)),'09999999999999999') ,
'0',' '),'1','■')
||
replace(replace(
to_char(
(floor(f/8)||mod(floor(f/4),2)||mod(floor(f/2),2)||mod(f,2))*1E4+
(floor(g/8)||mod(floor(g/4),2)||mod(floor(g/2),2)||mod(g,2)),'099999999') ,
'0',' '),'1','■')
  hh from tmp4
order by n,l;


目前是行列对调的,需要做一个行列转换
     ■        ■         
      ■■      ■         
■      ■■■    ■  ■■■■■■ 
 ■■     ■   ■■■  ■■■■■■■
  ■■■      ■■■          
   ■     ■■            ■
       ■■              ■
  ■                   ■ 
  ■                  ■  
  ■■■■■             ■■  
  ■    ■■■         ■■   
  ■       ■■■     ■■    
  ■         ■■■  ■■     
  ■          ■■  ■      
  ■        ■■■■  ■■     
  ■      ■■■■     ■■    
  ■  ■■■■■■        ■■   
 ■■■■■■■■           ■■  
 ■■■■               ■■■ 
  ■                  ■■■
                     ■■ 
                      ■ 
                      ■ 


[ 本帖最后由 〇〇 于 2009-9-17 13:12 编辑 ]

HZK24S.rar

269.02 KB, 下载次数: 31

使用道具 举报

回复
论坛徽章:
540
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2009-9-18 01:47 | 显示全部楼层
OO真猛!这么快就把中文banner搞出来了!

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
 楼主| 发表于 2009-9-18 11:19 | 显示全部楼层

回复 #7 newkid 的帖子

思路和英文banner是一样的
用blob省去了点阵数字整理
dbms_lob.substr可以把raw类型用16进制字符串表示,1个字节变2个16进制字符

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
 楼主| 发表于 2009-9-18 11:35 | 显示全部楼层

24*24行列转换可以用了,但速度太慢,寻求优化

with tmp
as(select '汉' hz from dual),
tmp2
as(select level n from tmp connect by level <=length(hz)),
tmp3
as(
select n,l,substr(dbms_lob.substr(bin_data,72,(94*(trunc(ascii(substr(hz,n,1))/256)-161-15)+
(mod(ascii(substr(hz,n,1)),256)-161))*72+1),l*6-5,6) line from char_image,tmp,tmp2,
(select level l from dual connect by level<=24)where id='hzk24s'),
tmp4
as(
select n,l,to_number(substr(line,1,1),'X')a,to_number(substr(line,2,1),'X')b,
to_number(substr(line,3,1),'X')c,to_number(substr(line,4,1),'X')e ,
to_number(substr(line,5,1),'X')f,to_number(substr(line,6,1),'X')g
from tmp3),
tmp5 as
(
select n,l,a,b,c,e,
substr(
replace(replace(
to_char(
(floor(a/8)||mod(floor(a/4),2)||mod(floor(a/2),2)||mod(a,2))*1E12+
(floor(b/8)||mod(floor(b/4),2)||mod(floor(b/2),2)||mod(b,2))*1E8+
(floor(c/8)||mod(floor(c/4),2)||mod(floor(c/2),2)||mod(c,2))*1E4+
(floor(e/8)||mod(floor(e/4),2)||mod(floor(e/2),2)||mod(e,2)),'09999999999999999') ,
'0',' '),'1','■')
,-16,16)
||substr(
replace(replace(
to_char(
(floor(f/8)||mod(floor(f/4),2)||mod(floor(f/2),2)||mod(f,2))*1E4+
(floor(g/8)||mod(floor(g/4),2)||mod(floor(g/2),2)||mod(g,2)),'099999999') ,
'0',' '),'1','■')
,-8,8)
  hh from tmp4
  ),
tmp6 as
(select n,l co,j ro,substr(hh,j,1)ch from tmp5,(select level j from dual connect by level<=24))  
select replace(max(sys_connect_by_path(ch,'/')),'/','') from tmp6
START WITH co=1
connect by nocycle prior co=co-1 and prior ro=ro and prior n=n   --and level<=n
group by n,ro
order by n,ro;

                        
   ■                    
    ■             ■■    
    ■■  ■■■■■■■■■■■■■   
     ■■   ■       ■■    
     ■    ■       ■■    
 ■        ■      ■■     
  ■       ■      ■■     
  ■■   ■   ■     ■■     
   ■■  ■   ■     ■■     
   ■  ■    ■    ■■      
      ■     ■   ■■      
     ■      ■  ■■       
    ■■      ■■ ■■       
    ■■       ■■■        
 ■■■■        ■■■        
   ■■        ■■■        
   ■■       ■■ ■■       
   ■■      ■■   ■■      
   ■■     ■■     ■■■    
   ■■    ■■       ■■■■  
   ■■   ■          ■■■■■
    ■ ■■            ■   
                        

24 rows selected.

Elapsed: 00:00:07.98


[ 本帖最后由 〇〇 于 2009-9-18 12:19 编辑 ]

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
 楼主| 发表于 2009-9-18 12:22 | 显示全部楼层

每个字都要8秒


                        
   ■                    
    ■             ■■    
    ■■  ■■■■■■■■■■■■■   
     ■■   ■       ■■    
     ■    ■       ■■    
 ■        ■      ■■     
  ■       ■      ■■     
  ■■   ■   ■     ■■     
   ■■  ■   ■     ■■     
   ■  ■    ■    ■■      
      ■     ■   ■■      
     ■      ■  ■■       
    ■■      ■■ ■■       
    ■■       ■■■        
 ■■■■        ■■■        
   ■■        ■■■        
   ■■       ■■ ■■       
   ■■      ■■   ■■      
   ■■     ■■     ■■■    
   ■■    ■■       ■■■■  
   ■■   ■          ■■■■■
    ■ ■■            ■   
                        
                        
  ■■               ■■   
   ■■  ■■■■■■■■■■■■■■■  
   ■■■      ■■          
    ■■      ■■          
    ■       ■■   ■■     
        ■■■■■■■■■■■■    
           ■■    ■■     
   ■■      ■■    ■■     
■■■■■■     ■■    ■■     
   ■■      ■■    ■■ ■■  
   ■■ ■■■■■■■■■■■■■■■■■ 
   ■■                   
   ■■     ■       ■■    
   ■■     ■■■■■■■■■■■   
   ■■     ■■      ■■    
   ■■   ■ ■■      ■■    
   ■■  ■  ■■      ■■    
   ■■■■   ■■      ■■    
   ■■■    ■■      ■■    
  ■■■     ■■■■■■■■■■    
   ■      ■■      ■■    
          ■       ■     
                        
          ■■            
           ■■■          
            ■       ■■  
 ■■■■■■■■■■■■■■■■■■■■■■ 
                        
                        
                ■■      
    ■■■■■■■■■■■■■■■     
                        
                        
                ■■      
    ■■■■■■■■■■■■■■■     
                        
                        
     ■          ■■      
     ■■■■■■■■■■■■■■     
     ■■         ■■      
     ■■         ■■      
     ■■         ■■      
     ■■         ■■      
     ■■■■■■■■■■■■■      
     ■■         ■■      
     ■■         ■■      
     ■          ■       

72 rows selected.

Elapsed: 00:00:25.48

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
 楼主| 发表于 2009-9-18 15:09 | 显示全部楼层
在Windows下编程可以用下面更简单的方法实现:   
  1。创建一个内存DC,调用Textout将每一个字画到memDC上,就可以得到字符的点阵。   
  2。调用GetGlyphOutline也可以得到字符的点阵。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表