函数inet_addr是如何实现将地址转换为数字的?
如:192.168.0.211 转成以后为 3540035776
即把192.168.0.211转成十六进制,如:C0A800[补位]D3,倒过来,D300A8C0(从高位取起)
然后把D300A8C0转成数字为3540035776即所求值。
在DELPHI中要引用这个函数,必须要引用winsock这个包,然后调用inet_addr(IP地址)这个函数
ip地址为字符串指针(Pchar类型),如PChar('192.168.000.211')这个值,返回的是DWORK型(即无符号的,占四个
字节的整型),和DELPHI的long word等同,如
User WinSock;
var
abc:DWORD;
begin
abc := inet_addr(PChar('192.168.0.211'));
Edit1.Text := IntToStr(abc);
汉字转数字,首先要了解一个汉字占用几个字符?即几个字节?一个汉字占两个字节,即2个字符,2个ASC码值
,这样的话就好办多了,首先把汉字转成ASC码值,再把对应的每个ASC码值转成数字,即是所求的数字
如:我的ASC码值是0xced2[十六进制表示]转成:十进制52946,即为所要求的值,按ALT+52946即可验证此数字是
否准确。
查看方法:程序->附件->字符映射表->高级查看->windows 简体中文->按拼音分类的简体中文 ->查看到对应的
汉字
DELPHI中实现方法为:
数转汉字:
sName := '';
for i := 1 to Length(FPassGroupName) do
begin
sName := sName + IntToStr(Integer(FPassGroupName[i]));
end;
汉转数字:
for i := 1 to Length(sExp) do
begin
sNameCode := sNameCode + IntToStr(Integer(sExp[i]));;
end;
sStr := sStr + sNameCode;
分享到:
相关推荐
在编程和数据库操作中,有时需要将IP地址转换为整数或者从整数还原回IP地址,这时就用到了`inet_aton()`和`inet_ntoa()`这两个函数。 `inet_aton()`函数是用于将一个点分十进制的IP地址字符串转换为32位无符号整数...
描述了IP地址格式转换的常用接口,主机字节序和网络字节序相互转换,Ip字符串转换成long型数值;高字节序和低字节序的名词解释
网络程序设计inet_ntoa()&inet;_addr()&htonl;()函数代码,简单编写的,可供于关于以上函数的思想方式。没有头文件中的强大,没有错误提示及处理代码段,学习网络程序设计可以参考。
char *inet_ntoa(struct in_addr in); ``` #### 参数说明 - `struct in_addr in`: 这个参数是一个 `in_addr` 结构体,包含了需要转换的 IP 地址。 #### 返回值 `inet_ntoa` 函数返回一个指向字符串的指针,该字符...
总结来说,inet_pton() 和 inet_ntop() 提供了一种灵活且高效的处理IP地址转换的方法,它们能够自动适应IPv4和IPv6两种地址格式,简化了网络编程中的地址转换过程。在使用这些函数时,需注意不要覆盖静态分配的内存...
inet_download_manager_6.37.15.rar
-s :在 ARP 缓存中添加项,将 IP 地址 inet_addr 和物理地址 ether_addr 关联。物理地址由以连字符分隔的 6 个十六进制字节给定。使用带点的十进制标记指定 IP 地址。项是永久性的,即在超时到期后项自动从缓存删除...
标题“inet_dsi_panel20200703_BOE_FHD_8279_A55_”和描述“三星10.1寸原装屏FHD34PIN代码”暗示了这个压缩包中可能包含的是关于一块特定显示屏的技术规格和驱动程序。这个显示屏由BOE(京东方)生产,具有全高清...
在MySQL数据库中,存储IP地址通常有两种常见的方法:一种是使用传统的字符串格式,如`char(15)`,另一种是利用MySQL内置的`inet_aton()`和`inet_ntoa()`函数,将IP地址转换为整型数值进行存储。这两种方法各有优缺点...
inet_diag 是一个针对 INET 传输协议套接字的监控模块。在计算机网络中,INET 指的是...对于系统管理员来说,理解和利用 inet_diag 提供的信息,可以提高他们诊断和解决问题的效率,从而确保网络服务的稳定性和高效性。
inet_ntoa(client_addr.sin_addr)); if(write(new_fd,hello,strlen(hello))==-1) { fprintf(stderr,"Write Error:%s\n",strerror(errno)); exit(1); } /* 这个通讯已经结束 */ close(new_fd); /* 循环下一...
本文将深入探讨C语言中用于IP地址转换的几个关键函数:inet_aton、inet_ntoa、inet_addr以及IPv6兼容的inet_pton和inet_ntop。 首先,我们关注的是仅支持IPv4的函数:inet_aton、inet_ntoa和inet_addr。这些函数...
在MySQL数据库系统中,IP处理函数`inet_aton()`和`inet_ntoa()`是用于将IP地址在数据库中以更高效的方式存储和检索的关键工具。本文将深入探讨这两个函数的功能、用法以及它们在处理IP地址时的工作原理。 首先,`...
此外,函数`inet_addr()`和`inet_network()`也与IP地址转换有关。`inet_addr()`与`inet_aton()`类似,但它尝试直接从字符串中解析IP地址,返回的是一个`in_addr_t`类型的值,而不是`in_addr`结构体。`inet_network()...
为了高效地操作IP地址,MySQL提供了一对函数:`INET_ATON` 和 `INET_NTOA`。这两个函数可以帮助我们将IP地址转换成整型数值,从而方便存储和计算。 1. **保存IP地址到数据库** 在设计数据库表结构时,通常我们会为...
ARP 命令的基本格式为:ARP [-a] [-v] [-N if_addr] [-s inet_addr eth_addr [if_addr]] [-d inet_addr [if_addr]] ARP 命令选项 * -a:显示当前 ARP 表的所有项。如果指定 inet_addr,则只显示指定计算机的 IP ...
char* inet_ntoa(struct in_addr in); ``` - `in`参数是一个`struct in_addr`结构体,包含IPv4地址。 使用这些函数时,需要注意内存管理、错误检查以及地址族的正确匹配。例如,在将IP地址从点分十进制转换为二...