惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
The GitHub Blog
The GitHub Blog
F
Fortinet All Blogs
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
LangChain Blog
爱范儿
爱范儿
博客园_首页
Stack Overflow Blog
Stack Overflow Blog
MongoDB | Blog
MongoDB | Blog
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
宝玉的分享
宝玉的分享
GbyAI
GbyAI
H
Help Net Security
A
About on SuperTechFans
Recent Announcements
Recent Announcements
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
D
Docker
博客园 - Franky
有赞技术团队
有赞技术团队
G
Google Developers Blog

博客园 - 三聪

流操作 如何利用.Net内置类,解析未知复杂Json对象 制作等比环切缩缩图 让window.setTimeout等支持带参数方法 利用NewID()生成随机数 创建缩略图 winform给html提供接口 IE下记住文本框的光标位置 ie下取得iframe里面内容 树冲突 截图片 学习Objective-C: 入门教程 C#根据字节数截取字符串 asp.net本地和全局资料文件的读取方法 jquery实现点击空白的事件 Asp.net 利用Jquery Ajax传送和接收DataTable 用一个最简单方法解决asp.net页面刷新导致数据的重复提交 SOS"未将对象引用设置到对象的实例" .NET调PHP Web Service的典型例子
短网址计算
三聪 · 2011-03-30 · via 博客园 - 三聪

        string chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";private void button1_Click(object sender, EventArgs e)
        {
            
int i = int.Parse(textBox1.Text);
            textBox2.Text 
= EncodeNum(i);
            textBox3.Text 
= DecodeNum(textBox2.Text).ToString();
        }
/// <summary>
        
/// 转码
        
/// </summary>
        
/// <param name="integer"></param>
        
/// <returns></returns>
        private string EncodeNum(int integer)
        {
            
double number = integer;
            
int hex = chars.Length;
            StringBuilder sb 
= new StringBuilder();
            
do
            {
                
//计算指数
                int exp = -1;
                
double value = 0;
                
while (value < number)
                {
                    exp
++;
                    value 
= Math.Pow(hex, exp + 1);
                }
                
//计算对应字符
                double num = number / Math.Pow(hex, exp);
                
int index = Convert.ToInt32(Math.Floor(num));
                sb.Append(chars.Substring(index, 
1));
                number 
= number % Math.Pow(hex, exp);
            } 
while (number > 0);return sb.ToString();
        }
/// <summary>
        
/// 解码
        
/// </summary>
        
/// <param name="s"></param>
        
/// <returns></returns>
        private int DecodeNum(string s)
        {
            
double x = 0;
            
int hex = chars.Length;
            
for (int i = 0; i < s.Length; i++)
            {
                
int exp = s.Length - 1 - i;
                
int num = chars.IndexOf(s.Substring(i, 1));
                x 
+= num * Math.Pow(hex, exp);
            }
return Convert.ToInt32(x);
        }