(无码+有码)OC入门和字符串的常用方法

抄表程序员的DLMS/COSEM协议实战:从抓包到解析,手把手教你读懂IEC62056报文 本文深入解析DLMS/COSEM协议在智能电表通信中的应用,从报文捕获到数据解析的全流程实战指南。涵盖HDLC帧解析、应用层连接建立、数据请求/响应解码等核心内容,并提供Wireshark配置、OBIS代码速查表等实用工具,帮助开发者快速掌握IEC62056标准下的电能表通信技术。 阅读详情

OC入门知识

类:

在OC中,所有的类都继承自祖先类

在main()函数里想要使用该类,要先初始化该类的对象,

对象命名规则:类名 *对象名 = [类名 new];当写代码时,要养成良好的代码规范,从入门开始

类里面的方法可以有定义不使用

声明类中的方法和方法传递参数

- (返回值)函数名:(参数类型)参数名  and参数名:(类型)参数名



字符串

声明:文章中string是字符串对象,str是字符串中的元素,如有不理解,请后面评论,一定尽快修改

NSMutableString *string = [NSMutableString new];

C字符串转换为OC字符串方法为: initWithCString


字符串转换成数字:NSNumber num = [str integerValue];


拼接字符串:(将”string“字符串拼接到string这个对象里面)

//string只能拼接一个字符串,format可以拼接多个字符串

string = [string stringByAppendingString:@"string"];

string = [string stringByAppendingFormat:@"string",@“str”];

分割字符串:(通过分隔符进行字符串的分割)

//这个方法只支持一种分隔符的分割

NSArray *array = [string compoentsSeparatedByString:@"_"];

//这个方法支持两个不同分隔符分割字符串

NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"_%"];

NSArray *array = [string compoentsSeparatedByCharacterInSet:set];

按下标获取字符串

//从下标为4的位置赋值给str

NSString *str = [string subStringFromIndex:4];

//从4之前赋值给str

str = [string subStringToIndex:4];

//根据要求范围赋值

str = [string subStringWithRange:NSMakeRange(下标位置,截取长度)];

//获取单个字符串

str = [string characterAtIndex:2];

//获取字符对应在字符串中的范围

NSRange range = [string rangeOfString:@"str"];


字符串比较

[str1 isEqualToString:str2];//BOOL类型

NSComparisonResult result = [str1 compare:str2];//返回值(-1,0,1)


字符串变大小写

str.uppercaseString//将字符串全部变为大写

str.lowercaseString//将字符串全部变为小写

str.capitalizedString//将字符串首字母大写

BOOL result = [str hasPrefix:@"www."];//判断字符串是否有www.前缀


可变字符串

NSMutableString *string = [NSMutableString new];

创建可变字符串

[string setString:@"string"];


添加字符串

[string insertString:@"str" atIndex:1];//固定位置添加

[string appendingString:@"str"];//添加到末尾


删除字符串

[string deleteCharactersInRange:[string rangeOfString:@"str"];//删除固定字符串

[string deleteCharactersInRange:NSMakeRange(1,2)];//删除固定位置固定长度的字符串

[string setString:@""];//将所有字符串置空(删除所有字符串)


修改字符串

[string replaceCharactersInRange:[string rangeOfString:@"str"]withString:@"s"];//用s代替str

[string replaceCharactersInRange:NSMakeRange(6,1)withString:@"s"];//用s代替下标为6长度为1的字符串



字符串常用方法就这些,代码纯手打,有错误的话请多多包涵。


RAG面试内容整理-7. 多轮问答与上下文拼接策略 在对话式的RAG应用中,多轮问答需要处理上下文相关性问题:用户的提问往往依赖于之前的对话内容。为正确理解用户每一轮的问题,系统需要保留和传递对话历史信息。 阅读详情

相关推荐

Librepilot _64位window10环境下的搭建及一些坑的解决办法

  刚入IT行业的小菜鸟,在window上折腾了四天的librepilot地面控制站的搭建,想着这么辛苦不能白费了,看网上相关资料少得可怜,唯一一个详细教程还是在32位环境下,一大堆坑,所以把自己的经验写下来,供大家一起参考。 参考的原文是:https://www.cnblogs.com/jasonchan1202/p/7809937.html的博客,但是执行下来才发现这个博客对64位系统极其不...

weixin_41426339的博客 2728

php中文字串截取乱码的解决方法

/** * 实现中文字串截取无乱码的方法 */ function getSubstr($string, $start, $length) { if(mb_strlen($string,'utf-8')>$length){ $str = mb_substr($string, $start, $length,'utf-8'); return $st...

小虎哥-不可能变成可能 826

别再为PCB和散热器文件发愁了!手把手教你用ADS导出DWG文件给工厂(附单位转换避坑指南)

本文详细解析了从ADS设计到PCB/散热器加工的DWG文件导出全流程,重点介绍了单位转换、分层导出策略及散热器文件处理等关键步骤,帮助射频工程师避免加工误差和返工。特别提供了mil与mm单位转换的精确处理方法,确保设计文件与工厂加工需求无缝对接。

weixin_30814329的博客 616

Qt5中文乱码及qDebug()无乱码输出中文

Qt5中文乱码及qDebug()无乱码输出中文

airts001的博客 2万+

6层高速PCB设计实战:BGA布局与阻抗匹配关键解析

本文深入解析6层高速PCB设计中BGA布局与阻抗匹配的关键技术。通过实战经验分享,详细介绍了六层PCB层叠结构的选择与优化、BGA器件布局技巧、阻抗匹配的实战经验以及高速布线技巧,帮助工程师提升PCB设计水平,确保信号完整性和电源完整性。

weixin_28481133的博客 368

北斗三号PPP-B2b信号实战指南:从接收机配置到精度验证全流程

本文提供了北斗三号PPP-B2b信号从硬件配置到数据处理的全流程实战指南。详细解析了信号特性、接收机关键参数设置,并以飞纳接收机和Mass软件为例,演示了数据解算与精度验证方法。通过覆盖中国多地区的联调测试案例,验证了PPP-B2b服务可实现分米级实时定位精度,为无网络地区高精度应用提供了可靠解决方案。

nn3456的博客 554

PHP实现中文字串截取无乱码的方法…

在ASCII中,0xa0表示汉字的开始 其中php中的一个函数ord()函数 此函数功能返回一个字符的askii码值; 如ord('A')=65; 请看此函数 实现中文字串截取无 这是明显用来处理截取一段汉字的程序,在ASCII中,0xa0表示汉字的开始 其中php中的一个函数ord()函数 此函数功能返回一个字符的askii码值; 如ord('A')=65; 请看此函数 实

zhanqixuan22的博客 3万+

11n、11ac、11ax和11be MCS表(全网最全)

1、无线协商速率介绍及计算 2、附11n、11ac、11ax 完整MCS速率表

weixin_41500064的博客 2万+

天台爱情.BD高清1280国语中字

下载: [电影下载www.kuhema.com]天台爱情.BD高清1280国语中字.rmvb.torrent

apk508 2万+

汇川伺服Modbus-RTU通讯实战:从帧结构解析到西门子PLC配置

本文详细解析了汇川伺服与西门子PLC通过Modbus-RTU协议进行通讯的实战步骤,包括帧结构解析、硬件连接、参数设置及PLC程序配置。通过具体案例和常见问题排查指南,帮助工程师快速掌握工业自动化中的通讯技术,提升设备调试效率。

weixin_33670713的博客 453

K-Means聚类算法 — 算法原理、质心计算、距离度量、聚类效果评价及优缺点

分类知识   分类是根据样本某些属性或某类特征(可以融合多类特征),把样本类型归为已确定的某一类别中。机器学习中常见的分类算法有:SVM(支持向量机)、KNN(最邻近法)、Decision Tree(决策树分类法)、Naive Bayes(朴素贝叶斯分类)、Neural Networks(神经网络法)等。   但当对海量数据进行分类时,为了降低数据满足分类算法要求所需要的预处理代价,往往需要选...

zhf的博客 1万+

php中文字符取无乱码,PHP如何实现中文字符串截取无乱码?(图文+视频)

本篇文章主要给大家介绍PHP截取中文字符串并且无乱码的方法详解。在我们学习PHP知识的过程中,PHP截取字符串应该是一个非常常见的字符串基础操作了,想必大家都比较熟悉这方面知识点。但是有些新手朋友们可能遇到过,当截取中英文字符串时出现乱码的情况,其实这个也是非常容易解决的。首先我们要了解关于中英文占多少字节的问题。ASCII码:一个中文汉字占两个字节的空间。UTF-8编码:一个中文(含繁体)等于三...

weixin_42566451的博客 1万+

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

zemax像差参数Ray Fan/Spot Diagram/MTF/....讲解三

weixin_72050316的博客 1386

PHP 实现中文截取无乱码,PHP实现中文字串截取无乱码的方法

在PHP中需要对字符串进行截取,如果没有装mb扩展(mb_substr函数),对中文截取就需要进行相应的处理。下面是对字符串 “世s界s的功s\\\夫萨的mn是非得失sdf dsf dsf 达” 截取10个字符,最后的输出是“世s界s的”,编码均为u8:$ss = '世s界s的功s\\\夫萨的mn是非得失sdf dsf dsf 达';$aa =CHsubstr($ss, 0, 10);echo($...

weixin_42300478的博客 6567

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

中文截取无乱码php,PHP截取中文字符串,无乱码,基于正则

多数网上的PHP中文字符串截取,计算长度用的是逐个字符遍历的方法,看起来比较复杂这里提供哦你一种基于正则的解决方案,GBK,UTF-8的中文字符串测试通过1.[代码][PHP]代码/*** @brief strlen_mb 计算字符串长度,支持中文,自动检测编码,UTF-8与GBK测试通过** @param $str** @return*/function strlen_mb($str){$mb_...

weixin_35959379的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

嵌入式开发之字符叠加---gb2313 国标码,utf8 国际码,unicode 无码

(1)国标码简介 (2)编码转换 (3)时间获取 (4)显示切换   最近做了个字符叠加,包括时间叠加,字符中文叠加,位置移动,等功能开启。因为一般的字符叠加的点阵式16位,然后填充着16位的编码是gb2313编码,比如说视讯两个字, 先是视: 编码类型 二进制编码 十六进制编码 Unicode 10001001 11000110 0x89C6 ...

weixin_33929309的博客 5024

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

2021最新十大无码工具

2021年对于无代码行业来说是重要的一年。我们似乎已经达到了一个拐点,在这个转折点上,无代码最终是可扩展的。

尼古拉斯的AI笔记 8万+

【无码专区10】第K大查询(双向链表 /主席树+st表)

我但凡,我但凡会个双向链表,我都不至于这么难搞

11万+

SPLAYER中文字幕乱码

参考地址:http://wandering997.ycool.com/post.3001216.html                  http://wandering997.ycool.com/post.2957163.html[Subtitles]A) 打开 SMPlayer菜单 -> Options -> Preferences -> Subtitles -> S

l176266956的专栏 692万+

PHP实现中文字符的无乱码截断

PHP内置的substr()函数不能对中文字符进行很好的截断处理,对于一些中英文混合的字符会出现乱码的情况。下面提供两种解决函数。   1、GB2312编码方式的截断   function msubstr($str, $start, $len) { if (strlen($str)-$start &lt; $len) return false; $...

luo2010的专栏 8465

【无码专区5】01串(大讨论+构造)

终于做出来了一道dls的题!!!哦豁嚯嚯

89万+

LInux下Mplayer字幕乱码,日文字体部分乱码解决方案

ASS字幕如果不能加载的话,则需要把ASS字幕编码由utf16转换为utf8 用gedit也可以用这个也可以:iconv -f utf16 -t utf8 subtitle_utf16.ass &gt; subtitle_utf8.ass 在Preferenecs-&gt;Subtitles&amp;OSD中 Encoding选Simplified Chinese charset(CP93...

weixin_34233618的博客 5万+

中文乱码在线恢复网站

http://www.mytju.com/classCode/tools/messyCodeRecover.asp

木牛的博客 33万+

中日韩统一表意文字(CJK Unified Ideographs)[转]

中日韩统一表意文字 中日韩统一表意文字中日韩统一表 意文字(英语:CJK Unified Ideographs),目的是要把分别来自中文、日文、韩文、越文中,本质相同、形状一样或稍异的表意文字(主要为汉字,但也有仿汉字如日本国字、韩国 独有汉字、越南的喃字)于ISO 10646及Unicode标准内赋予相同编码。 越南文后来加入此计划,所以亦有 CJKV (中日韩越统一表意文字)的称...

weixin_30532987的博客 5万+

同桌的你1080pHD国语中字

同桌的你1080pHD国语中字 thunder://QUFlZDJrOi8vfGZpbGV8JUU1JTkwJThDJUU2JUExJThDJUU3JTlBJTg0JUU0JUJEJUEwLjEwODBwLkhEJUU1JTlCJUJEJUU4JUFGJUFEJUU0JUI4JUFEJUU1JUFEJTk3W3F1YW5qaS5jb21dLm1rdnwyODQ4Nzgy...

HCIE 数通、RHCE、HCIP 欧拉、MySQL OCP 持证工程师。 5473

JAVA加勒比_【JAVA】synchronized关键字

最近重新梳理了下java的synchronized相关内容,希望能帮助到有需要的朋友们。主要阐述以下几个问题:1.非static方法前加synchronized1 classDemo{2 synchronized public voiddoXXX(){3 //code…4 }5 }View Code对于这段代码,我们要考虑这几个问题:理解synchronized锁的是什么?...

weixin_39966922的博客 1万+
上一篇: 闲扯一下,应届生应不应该去培训机构(个人观点,仅供参考)
下一篇: (有码)数组
bin236
博客等级 码龄11年 1粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值