--(此函数部分思路参考了CSDN上大力的转换函数)--邹建2005.01(引用请保留此信息)--*/

Go

--创建函数

create functionSBC2DBC

(@str nvarchar(4000), --要转换的字符串

@flag bit --转换标志,0转换成半角,1转换成全角

)returns nvarchar(4000)as

begin

declare @pat nvarchar(8),@step int,@i int,@spc int

if @flag=0

select @pat=N‘%[!-~]%‘,@step=-65248,@str=replace(@str,N‘ ‘,N‘ ‘)else

select @pat=N‘%[!-~]%‘,@step=65248,@str=replace(@str,N‘ ‘,N‘ ‘)set @i=patindex(@pat collate latin1_general_bin,@str)while @i>0

select @str=replace(@str,substring(@str,@i,1),nchar(unicode(substring(@str,@i,1))+@step))

,@i=patindex(@pat collate latin1_general_bin,@str)return(@str)end

--测试示例

select dbo.SBC2DBC(‘~~~~ca!b‘,1)--运行结果/*~~~~ca!b*/

--附半角全角表/*ASCII 全角字符 Unicode 半角字符 Unicode

0x20 " "空格U+3000 " "空格U+0020

0x21 !U+ff01 ! U+0021

0x22 "U+ff02 " U+0022

0x23 #U+ff03 # U+0023

0x24 $U+ff04 $ U+0024

0x25 %U+ff05 % U+0025

0x26 &U+ff06 & U+0026

0x27 'U+ff07 ‘ U+0027

0x28 (U+ff08 ( U+0028

0x29 )U+ff09 ) U+0029

0x2a *U+ff0a * U+002a

0x2b +U+ff0b + U+002b

0x2c ,U+ff0c , U+002c

0x2d -U+ff0d - U+002d

0x2e .U+ff0e . U+002e

0x2f /U+ff0f / U+002f

0x30 0U+ff10 0 U+0030

0x31 1U+ff11 1 U+0031

0x32 2U+ff12 2 U+0032

0x33 3U+ff13 3 U+0033

0x34 4U+ff14 4 U+0034

0x35 5U+ff15 5 U+0035

0x36 6U+ff16 6 U+0036

0x37 7U+ff17 7 U+0037

0x38 8U+ff18 8 U+0038

0x39 9U+ff19 9 U+0039

0x3a :U+ff1a : U+003a

0x3b ;U+ff1b ; U+003b

0x3c <U+ff1c < U+003c

0x3d =U+ff1d = U+003d

0x3e >U+ff1e > U+003e

0x3f ?U+ff1f ? U+003f

0x40 @U+ff20 @ U+0040

0x41 AU+ff21 A U+0041

0x42 BU+ff22 B U+0042

0x43 CU+ff23 C U+0043

0x44 DU+ff24 D U+0044

0x45 EU+ff25 E U+0045

0x46 FU+ff26 F U+0046

0x47 GU+ff27 G U+0047

0x48 HU+ff28 H U+0048

0x49 IU+ff29 I U+0049

0x4a JU+ff2a J U+004a

0x4b KU+ff2b K U+004b

0x4c LU+ff2c L U+004c

0x4d MU+ff2d M U+004d

0x4e NU+ff2e N U+004e

0x4f OU+ff2f O U+004f

0x50 PU+ff30 P U+0050

0x51 QU+ff31 Q U+0051

0x52 RU+ff32 R U+0052

0x53 SU+ff33 S U+0053

0x54 TU+ff34 T U+0054

0x55 UU+ff35 U U+0055

0x56 VU+ff36 V U+0056

0x57 WU+ff37 W U+0057

0x58 XU+ff38 X U+0058

0x59 YU+ff39 Y U+0059

0x5a ZU+ff3a Z U+005a

0x5b [U+ff3b [ U+005b

0x5c \U+ff3c / U+005c

0x5d ]U+ff3d ] U+005d

0x5e ^U+ff3e ^ U+005e

0x5f _U+ff3f _ U+005f

0x60 `U+ff40 ` U+0060

0x61 aU+ff41 a U+0061

0x62 bU+ff42 b U+0062

0x63 cU+ff43 c U+0063

0x64 dU+ff44 d U+0064

0x65 eU+ff45 e U+0065

0x66 fU+ff46 f U+0066

0x67 gU+ff47 g U+0067

0x68 hU+ff48 h U+0068

0x69 iU+ff49 i U+0069

0x6a jU+ff4a j U+006a

0x6b kU+ff4b k U+006b

0x6c lU+ff4c l U+006c

0x6d mU+ff4d m U+006d

0x6e nU+ff4e n U+006e

0x6f oU+ff4f o U+006f

0x70 pU+ff50 p U+0070

0x71 qU+ff51 q U+0071

0x72 rU+ff52 r U+0072

0x73 sU+ff53 s U+0073

0x74 tU+ff54 t U+0074

0x75 uU+ff55 u U+0075

0x76 vU+ff56 v U+0076

0x77 wU+ff57 w U+0077

0x78 xU+ff58 x U+0078

0x79 yU+ff59 y U+0079

0x7a zU+ff5a z U+007a

0x7b {U+ff5b { U+007b

0x7c |U+ff5c | U+007c

0x7d }U+ff5d } U+007d

0x7e ~U+ff5e ~ U+007e*/

c语言全角半角转换函数,全角半角转换函数(示例代码)相关推荐

  1. c语言scanf错误c4996,C语言杂谈(一)scanf()、scanf_s()与错误 C4996(示例代码)

    错误 C4996 初学C语言时,第一个接触到的I/O函数便是scanf()了.但在高版本的 Visual Studio (包括但不限于2015.2013.2012)编译代码时,却会出现意想不到的错误. ...

  2. c语言 复制二维数组,C语言 二维数组复制、清零及打印显示(示例代码)

    #include #include#include //二维整型数组打印显示 void printarr2d(int (*a)[3],int row,intcol) {inti,j;for(i=0; ...

  3. list lt t gt java_将DataTable转换成Listlt;Tgt;实现思路及示例代码

    前几天在工作中,遇到一个问题:需要将查询出来的DataTable数据源,转换成List的泛型集合(已知T类型).第一反应,我想肯定要用到"泛型"(这不是废话吗?都说了要转换成Lis ...

  4. vim python 函数跳转_vim跳转(示例代码)

    vim下可以使用常用的箭头键 但是 还有其它键可以让你更快的达到目标 hjkl 这是代替箭头键功能的 H M L 跳到屏幕的顶上 中间 下方 w 跳到下一个单词的开始 e 跳到单词的结束 b 向后跳 ...

  5. c语言 串口连读,完美发音进阶课-连读技巧(示例代码)

    配套视频: 教学视频 辅音对元音的连读 什么是元音,辅音? 元音:气流在发出的过程当中,声带振动,口型相对固定,气流冲口而出,饱满而又洪亮.相当于韵母. 例如:[i:].[i].[?:].[?].[u ...

  6. c语言中文件相对路径,C++相对路径和绝对路径(示例代码)

    学习备忘 转自:http://www.cnblogs.com/vranger/p/3820783.html 电脑硬盘E盘下,建文件夹"test","test"下 ...

  7. 倒金字塔java语言_java打印正金字塔,倒金字塔和“水影”金字塔(示例代码)

    package com.javase.demo; import java.util.Scanner; /** * 金字塔 * @author Mr.Zhang * */ public class Py ...

  8. python float函数是什么,Python float函数实例用法

    Python float函数实例用法 我们知道数字有很多种类型,比如整数.浮点数.在字符串值的讨论上,我们会需要用浮点值的形式,那么就需要函数来进行转换.float函数的功能正是如此,能够对其中的数值 ...

  9. lmbs PHP,PHP的GD2函数创建折线图源码示例

    PHP的GD2函数创建折线图源码示例 代码来自 codego.net/tags/4/1/ if(!is_numeric($data[$i])) die("error id:1"); ...

最新文章

  1. javascript的特点
  2. SQL Server 2012 安装杂谈
  3. testing your idea
  4. php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...
  5. 福禄克官方经销商给您科普光纤极性基础
  6. java字节流转字符串_字节流与字符流的区别及相互转换
  7. php 现代排序_这就是现代PHP的样子
  8. 搜索引擎的那些事(开篇)
  9. ios支付 选择货币_iOS开发中金钱货币的计算问题
  10. iOS开发之通过代理逆向传值
  11. idea 自动导入包操作及快捷键
  12. 【正则】正则表达式基础知识大全
  13. arcgis许可服务器怎么修改,【ARCGIS】修改ARCGIS许可文件有效期
  14. Python破解WIFI密码详细介绍
  15. 支付宝签名php,支付宝快捷支付 PHP服务端签名
  16. 小米电视怎么看CCTV?安装超好用的HDP直播来帮助你
  17. android软件无法联网,关于android软件wifi联网无法使用的问题
  18. 用c语言编程确定一个相图的截面,2011级本科C语言上机复习题.doc
  19. 趣学算法NYOJ加勒比海盗船
  20. 东师《构成设计基础》离线作业

热门文章

  1. 对象数组与普通数组 java 0913
  2. 演练 青鸟游戏迷你平台
  3. 网页浏览器 市面上存在的网页浏览器
  4. 记一次Git pull之后Permission denied的解决方案
  5. ASP.NET Atlas简单控件介绍——Sys.Component基类与Sys.UI.Control基类
  6. ECS上配置FTP Filezilla
  7. LB Cluster 之一:集群及LVS基础理论详解
  8. android数据序列化的实现
  9. 甲骨文全面进军云计算市场
  10. 磁盘阵列——RAID0制作方法