精华内容
下载资源
问答
  • 一个任意长度字符串生成唯一的32位整数  Lu核心库的输出函数StrToUniInt可将一个任意长度字符串转换成一唯一的32位整数(只要没有对Lu进行重新初始化,该整数就唯一);反过来,函数UniIntToStr接受一个32位...

    由一个任意长度字符串生成唯一的32位整数

        Lu核心库的输出函数StrToUniInt可将一个任意长度字符串转换成一个唯一的32位整数(只要没有对Lu进行重新初始化,该整数值就唯一);反过来,函数UniIntToStr接受一个32位整数,返回与之对应的字符串。

        例子:

    仅需要以下支持文件:

    1、头文件lu32.h。
    2、导入库lu32.lib。
    3、核心库lu32.dll。

    #include <windows.h>
    #include <iostream>
    #include <time.h>
    #include "lu32.h"
    
    #pragma comment( lib, "lu32.lib" )
    
    using namespace std;
    
    void main(void)
    {
    	char Str1[]="abcd";			//字符串
    	char Str2[]="f(x,y)=x+y";	//字符串
    	char *pStr;
    	luVOID k1,k2,kk,i,j,k;
    	clock_t t0;
    
    	if(!InitLu()) return;		//初始化Lu
    	k1=StrToUniInt(Str1,strlen(Str1));	//由字符串Str1获得一个唯一的整数
    	k2=StrToUniInt(Str2,strlen(Str2));	//由字符串Str2获得一个唯一的整数
    	cout<<"k1="<<k1<<"  k2="<<k2<<endl;
    	k1=StrToUniInt(Str1,strlen(Str1));	//由字符串Str1获得一个唯一的整数
    	k2=StrToUniInt(Str2,strlen(Str2));	//由字符串Str2获得一个唯一的整数
    	cout<<"k1="<<k1<<"  k2="<<k2<<endl;
    	pStr=UniIntToStr(k1,kk);			//由整数k1获得字符串
    	if(pStr) cout<<pStr<<endl;
    	pStr=UniIntToStr(k2,kk);			//由整数k2获得字符串
    	if(pStr) cout<<pStr<<endl;
    
    	t0=clock();							//测试效率
    	for(k=0;k<10;k++)
    	{
    		for(i=1;i<256;i++)
    		{
    			Str1[1]=i; Str2[3]=i;		//变换字符串
    			for(j=1;j<256;j++)
    			{
    				Str1[2]=j; Str2[4]=j;	//变换字符串
    				k1=StrToUniInt(Str1,strlen(Str1));
    				k2=StrToUniInt(Str2,strlen(Str2));
    				pStr=UniIntToStr(k1,kk);
    				pStr=UniIntToStr(k2,kk);
    			}
    		}
    	}
    	cout<<"耗时 "<<(clock()-t0)/1000.0<<" 秒。"<<endl;
    	cin.get();
    	FreeLu();	//释放Lu
    }


    结果:

    k1=4297048  k2=4299496
    k1=4297048  k2=4299496
    abcd
    f(x,y)=x+y
    耗时 3.046 秒。


     

    展开全文
  • 我们有时在项目中会遇到需要生成随机字符串的需求,现在说明其中的种方法(利用苹果自带的库);在工程内导入头文件 二函数的使用、在工程内导入头文件//这是导入了所有加密库的头文件 #import //如果只是使用...

    我们有时在项目中会遇到需要生成随机字符串的需求,现在说明其中的一种方法(利用苹果自带的库);

    一、在工程内导入头文件

    //这是导入了所有加密库的头文件
    #import <CommonCrypto/CommonCrypto.h>
    //如果只是使用random函数,那么只要做如下导入即可
    #import <CommonCrypto/CommonRandom.h>

    二、函数的使用

    //利用CCRandomGenerateBytes实现随机字符串的生成
    - (NSString *)randomString:(NSInteger)length {
        length = length/2;
        unsigned char digest[length];
        CCRNGStatus status = CCRandomGenerateBytes(digest, length);
        NSString *s = nil;
        if (status == kCCSuccess) {
            s = [self stringFrom:digest length:length];
        } else {
            s = self;
        }
        NSLog(@"randomLength---:%@",s);
        return s;
    }
    //将bytes转为字符串
    - (NSString *)stringFrom:(unsigned char *)digest length:(NSInteger)leng {
        NSMutableString *string = [NSMutableString string];
        for (int i = 0; i < leng; i++) {
            [string appendFormat:@"%02x",digest[i]];
        }
        NSLog(@"final stringFrom:%@",string);
        return string;
    }
    
    展开全文
  • 1 自定义随机字符串方法(A-Z,a-z,0-9) //生成指定length的随机字符串(A-Z,a-z,0-9) public static String getRandomString(int length) { String str = "...

    1 自定义随机字符串方法一(A-Z,a-z,0-9)

    //生成指定length的随机字符串(A-Z,a-z,0-9)
    public static String getRandomString(int length) {
        String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < length; i++) {
            int number = random.nextInt(str.length());
            sb.append(str.charAt(number));
        }
        return sb.toString();
    }

     

    2 自定义随机字符串方法二(A-Z,a-z,0-9)

    //生成指定length的随机字符串(A-Z,a-z,0-9)
    public static String getRandomString2(int length) {
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < length; i++) {
            int number = random.nextInt(3);
            long result = 0;
            switch (number) {
                case 0:
                    result = Math.round(Math.random() * 25 + 65);
                    sb.append(String.valueOf((char) result));
                    break;
                case 1:
                    result = Math.round(Math.random() * 25 + 97);
                    sb.append(String.valueOf((char) result));
                    break;
                case 2:
                    sb.append(String.valueOf(new Random().nextInt(10)));
                    break;
            }
        }
        return sb.toString();
    }

     

    3 org.apache.commons.lang包下的RandomStringUtils类

    //生成指定length的随机字符串(A-Z,a-z,0-9)
    String str = RandomStringUtils.randomAlphanumeric(32);

     

      运行结果

    展开全文
  • * 给定一个字符集合,给定随机生成字符串的长度,即可随机生成字符串; * * 比如{'a','.....,'z'}及长度5,则随机生成一个长度为5的字符串; * */ public class StringWidthWeightRandomTest { @Test ...

    转:http://blog.csdn.net/xiazdong/article/details/7709249


    package cn.kpchen.demo;
    
    import java.util.Random;
    
    /*根据给定的char集合,生成随机的字符串*/
    public class StringWidthWeightRandom {
    	private char[] chars;
    	private Random random = new Random();
    
    	public StringWidthWeightRandom(char[] chars) {
    		this.chars = chars;
    	}
    
    	// 参数为生成的字符串的长度,根据给定的char集合生成字符串
    	public String getNextString(int length) {
    		char[] data = new char[length];
    		for (int i = 0; i < length; i++) {
    			int index = random.nextInt(chars.length);
    			data[i] = chars[index];
    		}
    		String s = new String(data);
    		return s;
    	}
    
    }
    

    package cn.kpchen.demo;
    
    import org.junit.Test;
    
    /**
     * 给定一个字符集合,给定随机生成的字符串的长度,即可随机生成字符串;
     * 
     * 比如{'a','.....,'z'}及长度5,则随机生成一个长度为5的字符串;
     * 
     */
    public class StringWidthWeightRandomTest {
    
    	@Test
    	public void testGetNextString() throws Exception {
    		StringWidthWeightRandom random = new StringWidthWeightRandom(
    				new char[] { 'A', 'B', 'C', 'D', 'E', 'F', 'G' });
    
    		for (int i = 1; i <= 10; i++) {
    			System.out.println(random.getNextString(i));
    		}
    	}
    }
    

    测试结果:

    C
    CE
    AFC
    AEFF
    CGGAB
    AFBFCC
    CFCFDEB
    AGFDADCG
    BEAFAEGDC
    BBAFDDDCED



    展开全文
  • 自创一个可逆的字符串长度压缩算法

    千次阅读 热门讨论 2020-08-19 17:26:07
    自己想出来LZW算法(其他算法压缩出来的长度可能更),在我们这里并不需要每次都动态生成字符串映射表,只需要提前设定好一个表用于所有的压缩和解压缩过程就行,不过想了一下,这表会比较庞大,也挺麻烦(陷入...
  • private static final String STR_FORMAT = "000000000000";  public static String haoAddOne(String liuShuiHao){  Integer intHao = Integer.parseInt(liuShuiHao);  intHao++; ... DecimalFormat df = ne
  • Java中生成一个唯一值的方式

    万次阅读 2015-12-28 16:47:33
    现总结几种生成一个唯一值的方式 第种:采用nanoTime() 第二种:采用UUID类 第三种:采用数据指纹
  • 生成固定长度不重复的随机字符串

    千次阅读 2018-02-11 13:29:38
    问题来自V2EX:如何生成固定长度唯一随机字符串? 不过需求后来有修改过,原始的需求略有不同,所以我的回答与现在的问题不太对得上,这里以原需求为基础重新提出这问题,并且加上一些更有代表性的条件。 条件有...
  • 不过我们需要生成字符个数,只要 32 或者 64 ,因此我们需要对 x 转化到 32 或者 64 以下的,最快就是进行 & 或者 ^ 运算。到底选用哪个都无所谓。这样我们就快速地替换了随机内容。 如果是只生成0-9 a...
  • 生成比较短的Token字符串

    千次阅读 2017-08-08 22:34:58
    有的时候,我们需要生成一些Token作为标识:如认证后的标识符,...GUID是一个128bit的数组,为了方便携带,往往需要把它表述为字符串的形式。一般把它表述为如下形式:{79FAF822-7194-4FE3-8C4F-1D99BE71BC9C}。这样有
  • Chapter Three : Python 序列之字符串操作详解

    千次阅读 多人点赞 2021-03-13 01:16:52
    目录字符串1. 字符串基础知识2. 字符串常见操作二、列表三、元组四...曾经流传过这样句话:开发一个项目,基本上就是在不断地处理字符串。本小节学习重点如下: 定义字符串字符串长度和编码。 字符串连接和截
  • mysql如何针对很字符串建立索引

    千次阅读 2019-10-10 20:30:07
    今天面试小米,面试官出了一道题,一个表有url和rank两字段,其中url代表的是链接,值唯一,如www.baidu.com/1/2,rank代表的是这链接的权重,范围在(1,10)。假如这张表中有1w条数据,现在要求给定一个url,...
  • MD5,Message Digest Algorithm 5,是种被广泛使用的信息摘要算法,可以将给定的任意长度数据通过一定的算法计算得出一个 128 位固定长度的散列。 步骤(Groovy): // 第步,获取MessageDigest对象,...
  • Python字符串方法详解

    千次阅读 2019-03-25 22:21:26
    字符串方法汇总字符串的类型判断大小写转换字符串的填充与对齐字符串的修剪 字符串的类型判断 函数 描述 str.isdigit() 是否全为数字(0-9) str.isdedecimal() 是否只包含十进制数字字符 str.isnumeric...
  • 使用宏定义对字符串进行处理#pragma

    千次阅读 2017-11-24 20:23:28
    在宏定义的使用中有一个字符串化运算符即 “#”运算符,出现在宏定义之后的“#”运算符会把跟在其后得到参数转化为一个字符串,优势也称这种用法的“#”称之为字符串化 运算符。举例如下:#include #define PASTE(n...
  • C#生成唯一值的方法汇总

    千次阅读 2016-09-13 15:36:00
    生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的次总结,有兴趣的可以自行测试:、在 .NET 中生成1、直接用.NET Framework 提供的 Guid() 函数,此种方法使用非常广泛。...
  • Python数据类型详解 随笔记录所的所学,此博客为我记录文章所用,...字符串是最常用的数据类型之,它用来表示串不可变的字符。 字符串可以使用双引号或者单引号将字符包含起来 如果字符串中本来就含有单引号或者
  •  因为这些类型其实都是由一些成员共同组成的一个序列整体,所以把它们统称为序列,比如说一个字符串是由一些字符(尽管Python并没有显式的定义字符这类型)组成的序列,那么“Hello”这个字符串的第一个字...
  • 第十三章 字符串

    千次阅读 多人点赞 2020-10-11 16:59:54
    String对象是不可变的,字符串对象作为方法的参数传递时,实际传递的是引用的一个拷贝.该引用所指的对象其实一直待在单一的物理位置上,从未动过 给String对象赋值本质上是改变该String对象引用的指向 2.重载
  • 字符,字节,字符串

    万次阅读 2011-08-02 14:00:32
    字符   人们使用的记号,抽象意义上的一个符号。 '1', '中', 'a', '$', '¥', ……  字节   计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。...ANSI字符串   在内存
  • String字符串性能优化的探究

    千次阅读 2020-10-28 22:20:46
    String 对象作为 Java 语言中重要的数据类型,是内存中占用空间最大的一个对象,高效地使用字符串,可以提升系统的整体性能,比如百M内存轻松存储几十G数据。  如果不正确对待 String 对象,则可能导致一些问题的...
  • 合法字符串——庞果网

    千次阅读 2013-09-15 19:25:03
    题目应该是庞果网上目前为止最难的一道题目了,今天在群中大神FancyMouse的提点下,找到篇名为“Recursive Sequence”的文章,完成了m项递推式的O(m^2logn)时间复杂度的优化,这是这道题目的
  • UE4入门-常见基本数据类型-字符串

    千次阅读 2017-11-07 17:39:34
    字符串FNameFName 通过一个轻型系统使用字符串。在此系统中,特定字符串即使会被重复使用,在数据表中也只存储次。FNames 不区分大小写。它们为不可变,无法被操作。FNames 的存储系统和静态特性决定了通过键进行 ...
  • String字符串,转码UTF-8

    万次阅读 2019-01-02 13:06:12
      String str = "任意字符串"; str = new String(str.getBytes("gbk"),"utf-8"... 的意思是以UTF-8的编码生成字符串 注意要try catch        版权声明 转...
  • 字符串值 value 关联到 key 。 如果 key 已经持有其他, SET 就覆写旧,无视类型。 可用版本: >=1.0.0 时间复杂度: O(1) 返回值: 总是返回 OK ,因为 SET 不可能失败。 示例代码: # 对字符串类型的 ...
  • 关于Java中的字符串

    千次阅读 2014-10-08 15:29:03
    在Java字符串处理中,不不少使用length和charAt方法
  • java 加密指定位数字符串

    千次阅读 2017-09-27 22:20:56
    * 加密字符串保留指定位数 * @param source 数据源 * @param begin 保留前几位开始加密 * @param end 保留后几位 */ public static String encryptString(String source,Integer begin,Integer end){
  • 字符串操作 列表、元组操作 字典操作 深copy和浅copy、模块初识Python的强大之处在于他有非常丰富和强大的标准库和第三方库。 一般标准库 在 Lib 目录 第三方库:在 site-packagessys模块(python解释器的...
  • 但是__FILE__实际上是包括文件名的完整路径,比如这样:/tmp/blablabla-XXXX-YYYY-ZZZZZZ/example.cpp这样的输出太过冗长,我们需要的实际上只是example.cpp这时候要是老老实实地调函数把example.cpp切出来当然不...
  • 想想雪花算法毫秒能产生4095不重复ID,我们好歹也可以向它学习吧,以上说了这么多少就明白了这要求也是蛮苛刻的,当中我也想过用雪花算法,但由于生成的ID比较,所以自己也写了一个小小的唯一ID生成

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 130,034
精华内容 52,013
关键字:

不同字符串生成一个唯一定长值