安卓资源字串中加全角空格、半角空格、换行、@%等特殊字符

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/quantum7/article/details/80906734

  全角空格:\u3000

  半角空格: 

  换行:\n

 

  特殊字符如@、%,怎么办?

  1、加转义符\。如:<string name="csdn">\%csdn\@</string>

  2、string 标签上增加一个属性formatted="false"。如 <string name="csdn" formatted="false">%csdn%</string>

 

  祝大家健康好运。

展开阅读全文

全角空格半角空格??????

09-22

我从数据库中抽出的字段中可能有全角的字符也有半角的字符,要求如果此字段没有和其定义的字段的长度相等,就在其字段的后补足全角空格,rnrn例如rnname varchar(50)rnrn1,name="a",rnrn就应该补足24个全角的空格和一个半角的空格rnrn2,name="ab",rnrn就应该补足24个全角的空格rnrn请各位大哥帮忙解决以下,我写了一个函数,但不能解决1,name="a"的情况,我是菜鸟,能否提供更好的解决办法,谢谢!rn(1)char * str_Io_P /* 为要转换的字符串 */rn(2)int li_Dem_Len /* 要求的长度,就是字段的长度 */rn(3)int li_SelFlag /* 是全角转换还是半角转换 */rnrnvoid Add_Space_ ( char * str_Io_P, int li_Dem_Len, int li_SelFlag )rnrn if ( (li_SelFlag == BATCH_SEL_1 || li_SelFlag == BATCH_SEL_2)rnrn && str_Io_P != NULL rn && ( li_Dem_Len >= 0 || li_Dem_Len <= MAX_BUFFER_LEN ))rn rn /* •Ï”’è‹` */rn int li_Count = 0 ;rn int li_True_Len = 0 ;rn char lc_str[MAX_BUFFER_LEN] ;rn char * w_Temp_P = NULL;rnrn /* €–Ú’l‰Šú‰»‚Ɛݒ菈— */rn memset( lc_str ,0x00, MAX_BUFFER_LEN ) ;rn w_Temp_P = str_Io_P + li_Dem_Len - 1 ;rn while ( *w_Temp_P == 0x20 )rn rn w_Temp_P--;rn rn strncpy( lc_str, str_Io_P, w_Temp_P- str_Io_P + 1) ;rn li_True_Len = strlen( lc_str );rn /* Œ‹‰ÊÝ’菈— */rn if ( li_True_Len != li_Dem_Len )rn rn /* FULL SPACE‚ðÝ’è‚·‚éB */rn if ( li_SelFlag == BATCH_SEL_1 )rn rn li_True_Len = (int)ceil((double)( li_Dem_Len - li_True_Len ) / 2);rnrn for ( li_Count = 0;li_Count < li_True_Len ; li_Count++ )rn rn strcat( lc_str, "@" ) ;rn rn rn /* Half SPACE‚ðÝ’è‚·‚éB */rn else if ( li_SelFlag == BATCH_SEL_2 ) rn rn li_True_Len = li_Dem_Len - li_True_Len ;rn for ( li_Count = 0; li_Count < li_True_Len ; li_Count++ )rn rn strcat( lc_str, " " ) ;rn rn rn sprintf( str_Io_P, "%s", lc_str ) ;rn rn rnrnrnrnrnrnrn 论坛

没有更多推荐了,返回首页