意思就是 fi 占一个字符,他们是连写的,同理ffi有人处理过这样的字符吗? 求提示

解决方案 »

  1.   

    LZ 看看 这个 可能有帮助的。  <!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
      <html   xmlns="http://www.w3.org/1999/xhtml"   xml:lang="gb2312"   lang="gb2312">  
      <head>  
      <title>   New   Document   </title>  
      <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"   />  
      <meta   name="title"   content=""   />  
      <meta   name="author"   content="活靶子,Huobazi,www.AspxBoy.com"   />  
      <meta   name="subject"   content=""   />  
      <meta   name="language"   content="gb2312"   />  
      <meta   name="keywords"   content=""   />  
      <meta   name="Copyright"   content="www.AspxBoy.com"   />  
      <meta   name="robots"   content="all"   />  
       
      <SCRIPT   language=JavaScript>  
      <!--  
      function   selectmsg(str)  
      {  
      document.formscsend.message.value   =   str;  
      onCharsChange(document.formscsend.message);  
      document.formscsend.message.focus();  
      document.formscsend.message.select();  
      }  
       
      function   inputs(str)  
      {  
      document.formscsend.message.value=document.formscsend.message.value+str;  
      onCharsChange(document.formscsend.message);  
      document.formscsend.message.focus();  
      }  
        function   onCharsChange(varField)   {  
                var   leftChars   =   getLeftChars(varField);  
                if   (   leftChars   >=   0)   {    
        document.formscsend.charsmonitor.value=leftChars;  
        return   true;  
                }   else   {  
                document.formscsend.charsmonitor.value="0";  
                      var   len   =   document.formscsend.message.value.length   +   leftChars;    
        document.formscsend.message.value   =   document.formscsend.message.value.substring(0,   len);  
        leftChars   =   getLeftChars(document.formscsend.message);  
                if   (   leftChars   >=   0)   {    
                document.formscsend.charsmonitor.value=leftChars;  
     window.alert("最多只能输入50个字符!   "); 
                          }  
                      return   false;        
      
          
                }  
      
        }  
       
          function   getLeftChars(varField)   {  
              var   i   =   0;  
              var   counter   =   0;  
              var   cap   =   50;          
       
                  for   (i   =   0;   i<   varField.value.length;   i++)   {          
              if   (varField.value.charCodeAt(i)   >   127   ||   varField.value.charCodeAt(i)   ==   94)   {  
              cap   =   25;          
                  }  
              }  
               
              var   leftchars   =   cap   -   varField.value.length;          
               
              return   (leftchars);  
        }  
             
       
         
       
      //-->  
       
      </SCRIPT>  
      </head>  
      <body>  
      <form   name="formscsend">  
      剩余字符: <input   name=charsmonitor   style="border:none;"   tabindex=100   value=50   e=5   readonly>  
      <br   />  
      <TEXTAREA onpaste="return   onCharsChange(this);" onkeyup="return   onCharsChange(this);" tabIndex=1 name=message
    onchange="return   onCharsChange(this);" cols="32"   rows="6"   class="font1"></TEXTAREA>  
       
      </form>  
       
      </body>  
      </html> 
      

  2.   

     
    我在研究一个开源的pdf阅读器,有这样一个函数
    获取一个整数——>把它强转成char
    但是有的数字很大:61442 ,61441 之类的,强转就乱码了(对照Adobe reader 发现它本是一个连字符如:ff连在一块的)
    我改怎么处理这个大整数得到我想要的char
     
      

  3.   

    你首先要搞清楚数字很大的是用的什么编码,再根据规则转换回来
    0-256是ASCII,如果大于256,则判断其Uft-8字符,用16进制计算
    比如说ff
     ff=f*16*16+f*16=15*16*16+15*16=3840+240=4080